java模拟而一个电话本操作
哈哈,大家平时都在使用电话本,下面使用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模拟而一个电话本操作相关推荐
- java制作电话本,java模拟而一个电话本操作
哈哈.大家平时都在使用电话本.以下使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public ...
- 自己写的一个电话本小软件(2004年)
这是我写的一个电话本小软件 图片预览 软件说明: ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ▓ 欢迎使用TelBook ...
- JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...
用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...
- C#中教你一步步实现一个电话本窗体程序
场景 使用C#窗体程序实现一个电话本应用程序. 实现 新建窗体程序,PhoneBook 然后打开工具箱,拖拽一个ListView到窗体中 拖拽完成后点击右上角三角符号,编辑选项--编辑列. 点击添加, ...
- 用结构体实现一个电话本
结构体是c语言又一个存储数据的类型,那么用结构体怎么实现一个简单的可以存储1000个人信息的电话本呢? 一.首先需要定义一个结构体,包含一个人的信息(比如姓名,性别,年龄,电话,住址等等).我 ...
- Java模拟实现一个基于文本界面的《家庭记账软件》
主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕输出格式控制 需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能 ...
- python程序实例电话本-零基础案例,别再错过了,动手Python做一个电话本小程序!...
最近比较忙,只能抽空的写写文章,其实我也是一个上班族,python完全是个人想学然后希望以后对工作有所帮助,2019年了,祝大家新年快乐. image image 我们就必须要懂得写脚本来提高下效率了 ...
- 【java】java 模拟 实现一个 ThreadPoolExecutor
1.概述 这里参考: 硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理 面经手册 · 第21篇<手写线程池,对照学习ThreadPoolExecutor线程 ...
- python程序实例电话本-Python示例
本例是Python基础示例.涉及Python基础,包括语法.字典型数据结构.类.引入库.pickle实现的存储器.异常处理等. 示例是一个电话本.可以对电话本进行增加.删除.修改.获取列表和获取单人的 ...
最新文章
- Ajax与JSON的一些总结(转)
- 效率翻倍!推荐10个超实用的神器工具,高效率办公必备
- 检验Xcode是否被改动过的简单方法,不妨试试!!!
- 软件测试面试问答大全(2)
- 开发日记-20190827 关键词 计算机网络
- Mina框架项目运用
- 'vue' 不是内部或外部命令
- 巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...
- [转帖]关于win7共享的问题和解答
- 用layui实现下拉框select多选,取值
- Linux下不借助工具实现远程linux服务器上传下载文件
- CSS代码实现背景透明文字不透明
- drop user和drop user cascade的区别
- 黑莓手机刷机经验一点
- 手机屏幕为什么比电脑屏幕清晰?
- 平面设计斜线排版的技巧方法
- w3wp ash oracle,巧妙使用ASH信息
- RTC与WebRTC有什么区别?
- Wangle源码分析:ServerBootstrap
- Linux下的LWP(轻量级进程)、进程 、 线程、用户级线程、内核线程
热门文章
- 计算机人要具备的基础知识!
- PowerManager屏幕休眠断网与距离感应器P-Sensor
- 手机中的传感器:重力感应器、加速度传感器、陀螺仪、电子罗盘和光线距离感应器
- linux 隐藏字符 h,shell 里面的奇葩字符实现
- 宝石典故之“凤凰血染红的鸡血石”
- HDU - 最大报销额(01背包|贪心)
- 离散数学--Chap14 图
- 另类烹饪 用电吹风做出脆皮烤鸡!本文来自:可可英语
- 马斯克再次在推特闯祸 年产50万辆电动汽车推文涉嫌违反和解协议
- 线程、进程(2)----- 从计算机物理层面分析