java模拟而一个电话本操作
来源:互联网 发布:复制电梯卡软件 编辑:程序博客网 时间:2024/06/11 04:41
哈哈,大家平时都在使用电话本,下面使用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();}}
具体的程序运行结果大家可以自己测试下,或者读读代码看看也应该可以明白...
下面是类图:
总结:这个模拟并没有什么太大的难度,但是重点就是使用面向对象的思想去设计,然后各个类之间达到解耦。
0 0
- java模拟而一个电话本操作
- Java模拟电话本操作
- java 电话本
- 用链表写一个电话本程序
- java实现简单电话本
- 分享Java中模拟Ping操作的一个类
- 一个用java模拟ATM操作的小程序
- J2ME 一个手机电话本 源码
- C语言编写一个电话本
- 电话本
- 电话本
- 电话本
- 电话本
- 电话本
- java模拟并发操作
- Java 模拟鼠标操作
- java模拟并发操作 .
- Java 模拟并发操作
- log file switch (checkpoint incomplete)等待事件
- 学习之路
- 软件质量控制与质量保证
- .NET中的PublicKeyToken以及强命名问题
- iewpager 嵌套 webview 滑动冲突
- java模拟而一个电话本操作
- php中escape和unescape
- no view for id xxx for fragment错误
- 高级系统架构师
- Fortran读取一行字符串中的数字
- 在OS X and iOS中,整数数据类型的大小和对齐
- preg_match过滤URL
- ssh登录出现setsockopt IPV6_TCLASS 16: Protocol not available:解决方法
- 回顾sql语句中的各种连接