哈哈。大家平时都在使用电话本。以下使用java来模拟而一个简单的电话本吧...

首先给出联系人的抽象类

package net.itaem.po;

/**

*

* 电话人的信息

* */

public class User {

private String name;

private String phoneNumber;

private String companyName;

private String email;

private String address;

private String birthday;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPhoneNumber() {

return phoneNumber;

}

public void setPhoneNumber(String phoneNumber) {

this.phoneNumber = phoneNumber;

}

public String getCompanyName() {

return companyName;

}

public void setCompanyName(String companyName) {

this.companyName = companyName;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public String getBirthday() {

return birthday;

}

public void setBirthday(String birthday) {

this.birthday = birthday;

}

@Override

public String toString() {

return "User [name=" + name + ", phoneNumber=" + phoneNumber

+ ", companyName=" + companyName + ", email=" + email

+ ", address=" + address + ", birthday=" + birthday + "]";

}

public User(String name, String phoneNumber, String companyName,

String email, String address, String birthday) {

this.name = name;

this.phoneNumber = phoneNumber;

this.companyName = companyName;

this.email = email;

this.address = address;

this.birthday = birthday;

}

public User(String name, String phoneNumber){

this.name = name;

this.phoneNumber = phoneNumber;

}

}

给出操作数据库的UserDao。这里仅仅是简单的模拟操作...所以使用打印来提示操作结果

以下给出工具类,用来获得MVC中的VIEW的请求内容

package net.itaem.tool;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class GetInput {

private static BufferedReader bufReader;

static{

bufReader = new BufferedReader(new InputStreamReader(System.in));

}

public static String getInputString(String info) throws IOException{

System.out.println(info);

String result = null;

result = bufReader.readLine(); //读取内存输入的一行数据

return result;

}

public static void main(String[] args) throws IOException{

}

}

以下给出控制类,相当于MVC中的C,Controller,这个类负责和DAO,VIEW,TOOL等其他类交互...

package net.itaem.operate;

import java.io.IOException;

import net.itaem.dao.UserDao;

import net.itaem.po.User;

import net.itaem.tool.GetInput;

/**

* 操作类

* */

public class Operate {

public Operate(){

start();

}

public void start(){

try {

while(true){ //一直执行

run();

}

} catch (IOException e) {

e.printStackTrace();

}

}

private void run() throws IOException{

System.out.println("======================电话本===================");

System.out.println("1查看全部联系人");

System.out.println("2添加联系人");

System.out.println("3删除联系人");

System.out.println("4搜索联系人");

System.out.println("5退出");

String choose = GetInput.getInputString("输入你的选择");

char choice = choose.toCharArray()[0];

switch(choice){

case ‘1‘:

System.out.println(UserDao.getInstance().findAll()); //输出全部电话本用户

break;

case ‘2‘:

UserDao.getInstance().add(new User(GetInput.getInputString("输入名字"),

GetInput.getInputString("输入电话号码")));

break;

case ‘3‘:

UserDao.getInstance().delete(new User(GetInput.getInputString("输入名字"),

GetInput.getInputString("输入电话号码")));

break;

case ‘4‘:

System.out.println(UserDao.getInstance().findUsersByKeyword(GetInput.getInputString("输入要查询的keyword")));

break;

case ‘5‘:

exit();

break;

default:

System.out.println("sorry your input was wrong, please input 1、2、3、4");

}

}

private void exit(){

System.exit(0); //退出

}

public static void main(String[] args) {

new Operate().start();

}

}

详细的程序执行结果大家能够自己測试下,或者读读代码看看也应该能够明确...

以下是类图:

总结:这个模拟并没有什么太大的难度。可是重点就是使用面向对象的思想去设计,然后各个类之间达到解耦。

java制作电话本,java模拟而一个电话本操作相关推荐

  1. java模拟而一个电话本操作

    哈哈,大家平时都在使用电话本,下面使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po;/*** * 电话人的信息* */ public cl ...

  2. 韩顺平java制作记事本_2011-05-21——Java从入门到精通(韩顺平)自己整理的笔记(包括记事本的开发)...

    2011年5月21日星期六 第四十四讲 io编程 1.创建文件用:f2.createNewFile(); 创建文件夹:f3.mkdir(); 2.列出文件: File lists[]=f4.listF ...

  3. java制作安卓客户端,java做服务器,android干客户端,实现数据传输

    java做服务器,android做客户端,实现数据传输 许久未动笔,有个小项目开始动工. 需要用一台windows电脑做服务器,在android端与其进行数据交换,实现一些业务. 简单起见,用java ...

  4. java制作mp3_利用java制作简单的音乐播放器

    本文主要是用到java中的swing技术,以及JMFjar中的API,为大家分享了java音乐播放器的具体实现代码,供大家参考,具体内容如下 备注:需要用JDK1.8才能播放音乐MP3 package ...

  5. 【名道电商】想做一个电商运营人需要学习什么

    一个电商新人其实需要学习的有很多,每一项要学习的项目里也有很多细分的内容需要去深度学习,所以在这里无法说明太多,只能为电商新人指一个学习的方向,知道自己应该要学点什么,才能在这个行业立足. 选款上款. ...

  6. java制作oracle程序,Java程序操作Oracle两种方式之简单实现

    Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...

  7. 微信群控系统制作系列一——java模拟登录网页版微信

    PS:很多人咨询我怎么做手机群控系统,因此我开了个制作群控系统的系列,准备分五期讲解群控系统的制作.前两篇是基础内容. 今天做个简单的java模拟登录网页版微信. 既然要做模拟登录,那么我们一定要了解 ...

  8. 如何用Java制作一个简易日历

    简易日历制作 记录一下Java实现的一个日历小程序,效果图如下: 实现以上的效果,我们需要用到两个类:SimpleDateFormat和Calendar. 首先看看这两个类的用法: 类 SimpleD ...

  9. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...

    用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...

最新文章

  1. 单个GPU无法训练GPT-3,但有了这个,你能调优超参数了
  2. 未来数据中心的选择:宽带多模光纤(WBMMF)
  3. 阿里云ET工业大脑发布AI视觉产品“见远”:电池片、车辆、路面都能被“诊断”...
  4. php javabean对象,Struts2 bean标签:创建并示例化一个JavaBean对象
  5. css js html记录
  6. ubuntu多版本python和pip切换
  7. java 线程池 状态_【Java多线程】线程状态、线程池状态
  8. 第2章 Python 数字图像处理(DIP) --数字图像基础4 -- 像素间的一些基本关系 - 邻域 - 距离测试
  9. 卡尔曼滤波的基本原理
  10. 在英特尔架构服务器上构建基于矢量包处理(VPP)的快速网络协议栈
  11. Java任务调度框架Quartz入门
  12. HDU 1234- 开门人和关门人
  13. linux编辑文本文件aa的命令,Linux如何使用正则表达式命令?文本文件操作命令
  14. matlab求工质热物性,以R245fa为工质的高温水源热泵样机研制及实验研究
  15. Windows网络编程笔记5 -- 其他套接字
  16. 伯努利试验及n重伯努利试验
  17. 更多数学趣题:走迷宫
  18. 英文面试二——why you are looking for a new job
  19. 搜索量过低百度和谷歌竞价账户分别是怎么处理的
  20. 数学建模之线性回归的标准型以及例题

热门文章

  1. Python中列表 list 的加减乘除运算总结
  2. python编程计算器_python编写计算器功能
  3. leetcode系列-283.移动零
  4. [Android测试] AS+Appium+Java+Win 自动化测试之九:PO模式的实例与ReportNg测试报告
  5. java并发和并行的区别
  6. react报错:Type ‘{}‘ is not assignable to type ‘ReactNode‘
  7. 工业相机 linux驱动软件,机器视觉软件及工业相机软件下载 - pylon, ToF 等 | Basler...
  8. 计算机配置i5什么意思,I5台式计算机硬件配置
  9. 弱电工程施工流程和规范
  10. WPF 3D开发教程(三)