1. 程式人生 > >java模擬而一個電話本操作

java模擬而一個電話本操作

enum static 全部 ext 電話號碼 .get cep center port

哈哈。大家平時都在使用電話本。以下使用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模擬而一個電話本操作