我是一個java初學(xué)者,所以很多地方都寫的很糟,首先謝謝 “唐”給我的練習(xí)題,這是完成所有功能后第一時間發(fā)的,所以很多該提取的方法和類都沒有提取,主要是能夠更清晰的看到整個結(jié)構(gòu),希望一步一個腳印能慢慢做的更好。加油!
這是運行結(jié)果

代碼:
importjava.util.Scanner;
/**
@Yq
【電話本管理系統(tǒng)v1.0】
1.添加??? 2.刪除??? 3.修改??? 4.查詢所有? 5.根據(jù)姓名查詢??? 6.退出
*/
/**
*對電話本數(shù)據(jù)的操作接口
*/
interfaceTelBookDAO {
????publicabstractvoidadd();
????publicabstractvoiddelete();
????publicabstractvoidupdate();
????publicabstractvoidread();
????publicabstractvoidnameRead();
????publicabstractvoidexit();
}
/**
電話本的數(shù)據(jù)存儲類,用數(shù)組來存儲各類數(shù)據(jù),這里只定義了10個長度,最多存10個聯(lián)系人
*/
classTelBook {
????staticbooleani = true; // 主要用于執(zhí)行整個系統(tǒng)的循環(huán)以及可用循環(huán)時
????String[] name = newString[9];
????String[] sex = newString[9];
????int[] age = newint[9];
????long[] tel = newlong[9];
????long[] qq = newlong[9];
????String[] location = newString[9];
}
/**
電話本的操作類,添加,刪除,修改,查詢所有,名字查詢,退出,操作類繼承了數(shù)據(jù)類以便獲取數(shù)據(jù)
*/
classTellAllHandle extendsTelBook implementsTelBookDAO {
//---------------------添加操作方法-----------------------------
????publicvoidadd() { // 添加操作
????????intnum=0;
????????for(inty=0; y < name.length;y++) { //添加到不同位置避免覆蓋
????????????if(name[y]!=null) {
????????????????num++;
????????????}
????????}
????????Scanner input = newScanner(System.in);
????????System.out.print("姓名:");
????????name[num] = input.next();
????????System.out.print("性別:");
????????sex[num] = input.next();
????????System.out.print("年齡:");
????????age[num] = input.nextInt();
????????System.out.print("電話:");
????????tel[num] = input.nextLong();
????????System.out.print("Q Q:");
????????qq[num] = input.nextLong();
????????System.out.print("地址:");
????????location[num] = input.next();
????????System.out.println("姓名:"+name[num]+","+"性別:"+sex[num]+","+"年齡:"+age[num]+","+"電話:"+tel[num]+","+"Q Q:"+qq[num]+","+"地址:"+location[num]);
????????System.out.println("\n"+"添加成功");
????}
//---------------------刪除操作方法-----------------------------
????publicvoiddelete() { // 刪除操作
????????System.out.print("請輸入需要刪除的聯(lián)系人姓名:");
????????Scanner input = newScanner(System.in);
????????String inputName = input.next();
????????intnum6=0;
????????intnum5=0;
????????while(num6 < name.length-1) {
????????????if(inputName.equals(name[num6])) {
????????????????System.out.println("姓名:"+name[num6]+","+"性別:"+sex[num6]+","+"年齡:"+age[num6]+","+"電話:"+tel[num6]+","+"Q Q:"+qq[num6]+","+"地址:"+location[num6]);
????????????????num5 = 0;
????????????????break;
????????????}
????????????else{
????????????????num5 = 1;
????????????}
????????????num6++;
????????}
????????if(num5 != 0) {
????????????System.out.println("\n"+"抱歉,查詢錯誤,無該人信息");
????????}
????????if(name[num6] != null) {
????????????System.out.println("確定要刪除嗎?【1(是),0(否)】"+"\n"+"輸入選項:");
????????????intifDelete = input.nextInt();
????????????switch(ifDelete) {
????????????????case1:
????????????????????System.out.println("正在刪除:"+name[num6]+"的所有信息");
????????????????????name[num6] = null;
????????????????????sex[num6] = null;
????????????????????age[num6] = 0;
????????????????????tel[num6] = 0L;
????????????????????qq[num6] = 0L;
????????????????????location[num6] = null;
????????????????????System.out.println("\n"+"刪除成功");
????????????????break;
????????????????case0:
????????????????????System.out.println("\n"+"您未作任何刪除");
????????????????break;
????????????????default:
????????????????????System.out.println("\n"+"您的輸入有誤,請重新選擇業(yè)務(wù)");
????????????????break;
????????????}
????????}
????}
//---------------------修改操作方法-----------------------------
????publicvoidupdate() { // 修改操作
????????System.out.print("請輸入需要修改的聯(lián)系人姓名:");
????????Scanner input = newScanner(System.in);
????????String inputName = input.next();
????????intnum7=0;
????????intnum8=0;
????????while(num7 < name.length-1) {
????????????if(inputName.equals(name[num7])) {
????????????????System.out.println("姓名:"+name[num7]+","+"性別:"+sex[num7]+","+"年齡:"+age[num7]+","+"電話:"+tel[num7]+","+"Q Q:"+qq[num7]+","+"地址:"+location[num7]);
????????????????num8 = 0;
????????????????break;
????????????}
????????????else{
????????????????num8 = 1;
????????????}
????????????num7++;
????????}
????????if(num8 != 0) {
????????????System.out.println("\n"+"抱歉,查詢錯誤,無該人信息");
????????}
????????if(name[num7] != null) {
????????????System.out.println("請重新輸入信息:");
????????????System.out.print("姓名:");
????????????name[num7] = input.next();
????????????System.out.print("性別:");
????????????sex[num7] = input.next();
????????????System.out.print("年齡:");
????????????age[num7] = input.nextInt();
????????????System.out.print("電話:");
????????????tel[num7] = input.nextLong();
????????????System.out.print("Q Q:");
????????????qq[num7] = input.nextLong();
????????????System.out.print("地址:");
????????????location[num7] = input.next();
????????????System.out.println("姓名:"+name[num7]+","+"性別:"+sex[num7]+","+"年齡:"+age[num7]+","+"電話:"+tel[num7]+","+"Q Q:"+qq[num7]+","+"地址:"+location[num7]);
????????????System.out.println("\n"+"修改成功");
????????}
????}
//---------------------查詢所有操作方法-----------------------------
????publicvoidread() { // 查詢所有
????????intnum3 = 0;
????????intnum4 = 0;
????????while(num3 < name.length-1) {
????????????if(name[num3] != null) {
????????????????System.out.println("姓名:"+name[num3]+","+"性別:"+sex[num3]+","+"年齡:"+age[num3]+","+"電話:"+tel[num3]+","+"Q Q:"+qq[num3]+","+"地址:"+location[num3]);
????????????????num4 = 0;
????????????}
????????????else{
????????????????num4 = 1;
????????????}
????????????num3++;
????????}
????????if(num4 != 0) {
????????????System.out.println("\n"+"以上為所有聯(lián)系人,按 1 添加更多聯(lián)系人");
????????}
????}
//---------------------姓名查找操作方法-----------------------------
????publicvoidnameRead() { // 姓名查找
????????System.out.print("請輸入需要查找的聯(lián)系人姓名:");
????????Scanner input = newScanner(System.in);
????????String inputName = input.next();
????????intnum1=0;
????????intnum2=0;
????????while(num1 < name.length) {
????????????if(inputName.equals(name[num1])) {
????????????????System.out.println("姓名:"+name[num1]+","+"性別:"+sex[num1]+","+"年齡:"+age[num1]+","+"電話:"+tel[num1]+","+"Q Q:"+qq[num1]+","+"地址:"+location[num1]);
????????????????num2 = 0;
????????????????break;
????????????}
????????????else{
????????????????num2 = 1;
????????????}
????????????num1++;
????????}
????????if(num2 != 0) {
????????????System.out.println("\n"+"抱歉,查詢錯誤,無該人信息");
????????}
????}
//---------------------退出操作方法-----------------------------
????publicvoidexit() { // 退出操作
????????i = false;
????}
//---------------------主界面選擇操作方法-----------------------------
????publicvoidmainSelect() {
????????while(i){
????????????i = true;
????????????System.out.print("\n"+"請選擇業(yè)務(wù):");
????????????Scanner input = newScanner(System.in);
????????????intmainSelect = input.nextInt();//加載用戶選擇業(yè)務(wù)輸入操作
????????????????switch(mainSelect) {
????????????????case1:
????????????????????System.out.println("---------------"+"添加電話本"+"---------------");
????????????????????add();
????????????????break;
????????????????case2:
????????????????????System.out.println("---------------"+"刪除電話本"+"---------------");
????????????????????delete();
????????????????break;
????????????????case3:
????????????????????System.out.println("---------------"+"修改電話本"+"---------------");
????????????????????update();
????????????????break;
????????????????case4:
????????????????????System.out.println("-------------"+"打印所有電話本"+"-------------");
????????????????????read();
????????????????break;
????????????????case5:
????????????????????System.out.println("---------------"+"按姓名查詢"+"---------------");
????????????????????nameRead();
????????????????break;
????????????????case6:
????????????????????System.out.println("----------------"+"退出系統(tǒng)"+"----------------");
????????????????????exit();
????????????????????System.out.println("謝謝使用,已退出系統(tǒng)");
????????????????break;
????????????????default:
????????????????????System.out.println("--------------"+"您的輸入有誤"+"--------------");
????????????????break;
????????????}
????????}
????}
}
/**
主界面所屬類,完成主界面的初始化
*/
classMainInterface {
????publicvoidmainTitle() {
????????System.out.println("-----------------------------電話本管理系統(tǒng)-----------------------------");
????????System.out.println("\t"+"1.添加"+"\t"+"2.刪除"+"\t"+"3.修改"+"\t"+"4.查詢所有"+"\t"+"5.根據(jù)姓名查詢"+"\t"+"6.退出");
????????System.out.println("-----------------------------電話本管理系統(tǒng)-----------------------------");
????}
}
publicclassTelBookMgnage {
????publicstaticvoidmain(String[] args) {
????????newMainInterface().mainTitle(); //加載主界面
????????TellAllHandle T = newTellAllHandle(); //加載各項操作
????????T.mainSelect(); //主界面選擇操作
????}
}