哈哈,大家平时都在使用电话本,下面使用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;}@Overridepublic 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("输入要查询的关键字")));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模拟而一个电话本操作相关推荐

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

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

  2. 自己写的一个电话本小软件(2004年)

    这是我写的一个电话本小软件 图片预览 软件说明: ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆  ▓                    欢迎使用TelBook            ...

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

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

  4. C#中教你一步步实现一个电话本窗体程序

    场景 使用C#窗体程序实现一个电话本应用程序. 实现 新建窗体程序,PhoneBook 然后打开工具箱,拖拽一个ListView到窗体中 拖拽完成后点击右上角三角符号,编辑选项--编辑列. 点击添加, ...

  5. 用结构体实现一个电话本

    结构体是c语言又一个存储数据的类型,那么用结构体怎么实现一个简单的可以存储1000个人信息的电话本呢?     一.首先需要定义一个结构体,包含一个人的信息(比如姓名,性别,年龄,电话,住址等等).我 ...

  6. Java模拟实现一个基于文本界面的《家庭记账软件》

    主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕输出格式控制 需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能 ...

  7. python程序实例电话本-零基础案例,别再错过了,动手Python做一个电话本小程序!...

    最近比较忙,只能抽空的写写文章,其实我也是一个上班族,python完全是个人想学然后希望以后对工作有所帮助,2019年了,祝大家新年快乐. image image 我们就必须要懂得写脚本来提高下效率了 ...

  8. 【java】java 模拟 实现一个 ThreadPoolExecutor

    1.概述 这里参考: 硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理 面经手册 · 第21篇<手写线程池,对照学习ThreadPoolExecutor线程 ...

  9. python程序实例电话本-Python示例

    本例是Python基础示例.涉及Python基础,包括语法.字典型数据结构.类.引入库.pickle实现的存储器.异常处理等. 示例是一个电话本.可以对电话本进行增加.删除.修改.获取列表和获取单人的 ...

最新文章

  1. 小米某程序员的忧虑:感觉互联网这两年要凉,突然想回家种地
  2. 安卓勒索软件进一步扩散
  3. 【自动驾驶】23.相机成像究竟是成在像平面还是成在焦平面
  4. CSS3--2D3D的使用
  5. 普通程序员,光靠GitHub打赏就年入70万,要不你也试试
  6. vscode shift+ arl + f 格式化统一(笔记)
  7. linux 外壳的概念,Linux 与 Linux 发行版的一些概念
  8. 2017百度之星资格赛:1003. 度度熊与邪恶大魔王
  9. 前景检测算法(九)--PBAS算法
  10. 前端实现动画的7种方式
  11. jQuery boxy弹出层插件中文演示及讲解
  12. 故障处理 | 网站500,无法打开站点(突然无法打开,代码和服务器没做调整)
  13. 饥荒如何修改服务器人数,饥荒联机怎么改房间人数?饥荒修改房间人数方法
  14. python3.8零基础入门教程_正版 Python 3.8编程快速入门 针对wan全零基础入门的读者 采用*小化安装+极简代码的教学...
  15. 常用的计算机硬件软件英语,计算机英语常用词汇.ppt
  16. Centos Linux 和 CentOS Stream比较
  17. wannier插值能带拟合1
  18. ​争夺00后社交,QQ、B站、快手谁能赢?
  19. 马云:如果银行不改变 我们就改变银行
  20. angular监听图片加载完成_angular监听dom渲染完成,判断ng-repeat循环完成

热门文章

  1. 第4天:C语言与画面显示的练习
  2. matlab中cond为啥比bet好,matlab用于超短脉冲中啁啾与色散概念的理解
  3. halcon三维检测启蒙1
  4. 广汽丰田-“饮水思源”活动专题网站
  5. asp.net医院信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  6. 关于手机查看data/data文件夹的解决办法
  7. Eclipse中properties配置文件的中文乱码
  8. vue2的vue.config文件
  9. 前端H5—jQuery精通-张晓飞-专题视频课程
  10. 【解答】多台西门子PLC之间可不可以无线通讯