我是一個(gè)java初學(xué)者畔派,所以很多地方都寫的很糟,首先謝謝 “唐”給我的練習(xí)題憨降,這是完成所有功能后第一時(shí)間發(fā)的父虑,所以很多該提取的方法和類都沒有提取,主要是能夠更清晰的看到整個(gè)結(jié)構(gòu)授药,希望一步一個(gè)腳印能慢慢做的更好士嚎。加油!
這是運(yùn)行結(jié)果
代碼:
importjava.util.Scanner;
/**
@Yq
【電話本管理系統(tǒng)v1.0】
1.添加??? 2.刪除??? 3.修改??? 4.查詢所有? 5.根據(jù)姓名查詢??? 6.退出
*/
/**
*對(duì)電話本數(shù)據(jù)的操作接口
*/
interfaceTelBookDAO {
????publicabstractvoidadd();
????publicabstractvoiddelete();
????publicabstractvoidupdate();
????publicabstractvoidread();
????publicabstractvoidnameRead();
????publicabstractvoidexit();
}
/**
電話本的數(shù)據(jù)存儲(chǔ)類悔叽,用數(shù)組來存儲(chǔ)各類數(shù)據(jù)莱衩,這里只定義了10個(gè)長度,最多存10個(gè)聯(lián)系人
*/
classTelBook {
????staticbooleani = true; // 主要用于執(zhí)行整個(gè)系統(tǒng)的循環(huán)以及可用循環(huán)時(shí)
????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("請(qǐng)輸入需要?jiǎng)h除的聯(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"+"抱歉,查詢錯(cuò)誤尤筐,無該人信息");
????????}
????????if(name[num6] != null) {
????????????System.out.println("確定要?jiǎng)h除嗎汇荐?【1(是),0(否)】"+"\n"+"輸入選項(xiàng):");
????????????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"+"您的輸入有誤叔磷,請(qǐng)重新選擇業(yè)務(wù)");
????????????????break;
????????????}
????????}
????}
//---------------------修改操作方法-----------------------------
????publicvoidupdate() { // 修改操作
????????System.out.print("請(qǐng)輸入需要修改的聯(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"+"抱歉,查詢錯(cuò)誤稠腊,無該人信息");
????????}
????????if(name[num7] != null) {
????????????System.out.println("請(qǐng)重新輸入信息:");
????????????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("請(qǐng)輸入需要查找的聯(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"+"抱歉景醇,查詢錯(cuò)誤,無該人信息");
????????}
????}
//---------------------退出操作方法-----------------------------
????publicvoidexit() { // 退出操作
????????i = false;
????}
//---------------------主界面選擇操作方法-----------------------------
????publicvoidmainSelect() {
????????while(i){
????????????i = true;
????????????System.out.print("\n"+"請(qǐng)選擇業(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(); //加載各項(xiàng)操作
????????T.mainSelect(); //主界面選擇操作
????}
}