java模擬而一個電話本操作
阿新 • • 發佈:2017-07-20
enum static 全部 ext 電話號碼 .get cep center port
給出操作數據庫的UserDao。這裏僅僅是簡單的模擬操作...所以使用打印來提示操作結果
以下給出控制類,相當於MVC中的C,Controller,這個類負責和DAO,VIEW,TOOL等其他類交互...
詳細的程序執行結果大家能夠自己測試下,或者讀讀代碼看看也應該能夠明確...
哈哈。大家平時都在使用電話本。以下使用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模擬而一個電話本操作