哈哈,大家平时都在使用电话本,下面使用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. Ajax与JSON的一些总结(转)
  2. 效率翻倍!推荐10个超实用的神器工具,高效率办公必备
  3. 检验Xcode是否被改动过的简单方法,不妨试试!!!
  4. 软件测试面试问答大全(2)
  5. 开发日记-20190827 关键词 计算机网络
  6. Mina框架项目运用
  7. 'vue' 不是内部或外部命令
  8. 巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...
  9. [转帖]关于win7共享的问题和解答
  10. 用layui实现下拉框select多选,取值
  11. Linux下不借助工具实现远程linux服务器上传下载文件
  12. CSS代码实现背景透明文字不透明
  13. drop user和drop user cascade的区别
  14. 黑莓手机刷机经验一点
  15. 手机屏幕为什么比电脑屏幕清晰?
  16. 平面设计斜线排版的技巧方法
  17. w3wp ash oracle,巧妙使用ASH信息
  18. RTC与WebRTC有什么区别?
  19. Wangle源码分析:ServerBootstrap
  20. Linux下的LWP(轻量级进程)、进程 、 线程、用户级线程、内核线程

热门文章

  1. 计算机人要具备的基础知识!
  2. PowerManager屏幕休眠断网与距离感应器P-Sensor
  3. 手机中的传感器:重力感应器、加速度传感器、陀螺仪、电子罗盘和光线距离感应器
  4. linux 隐藏字符 h,shell 里面的奇葩字符实现
  5. 宝石典故之“凤凰血染红的鸡血石”
  6. HDU - 最大报销额(01背包|贪心)
  7. 离散数学--Chap14 图
  8. 另类烹饪 用电吹风做出脆皮烤鸡!本文来自:可可英语
  9. 马斯克再次在推特闯祸 年产50万辆电动汽车推文涉嫌违反和解协议
  10. 线程、进程(2)----- 从计算机物理层面分析