本文實例為大家分享了Java實現(xiàn)通訊錄管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一、前言
我們學了這么久的知識了,光學知識不會用是一件很悲傷的事情,所以我們應學完
部分練一些項目或題,來鞏固我們學習的知識,激發(fā)我們持續(xù)學習的動力。
二、創(chuàng)建通訊的功能
- 增加聯(lián)系人信息
- 刪除聯(lián)系人信息
- 修改聯(lián)系人信息
- 查看所有聯(lián)系人信息
- 退出通信錄管理系統(tǒng)
首先定義一個People類,提供相應的get、set方法
(在idea中有快捷鍵Alt+insert生成get、set方法,和構造方法)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
public class People { private String sid; private String name; private String age; private String address; private String num; public People(){} public People(String sid, String name, String age, String address, String num) { this .sid = sid; this .name = name; this .age = age; this .address = address; this .num=num; } public String getSid() { return sid; } public void setSid(String sid) { this .sid = sid; } public String getName() { return name; } public void setName(String name) { this .name = name; } public String getAge() { return age; } public void setAge(String age) { this .age = age; } public String getAddress() { return address; } public void setAddress(String address) { this .address = address; } public String getNum() { return num; } public void setNum(String num) { this .num = num; } |
在People類中加上菜單,并在測試類中去調(diào)用。
1
2
3
4
5
6
7
8
9
|
public void 菜單(){ System.out.println( "-------歡迎來到通訊錄管理系統(tǒng)-------" ); System.out.println( "1.增加聯(lián)系人" ); System.out.println( "2.刪除聯(lián)系人" ); System.out.println( "3.修改聯(lián)系人" ); System.out.println( "4.查看所有聯(lián)系人" ); System.out.println( "5.退出" ); System.out.println( "請選擇:" ); } |
我們?yōu)榱四苤苯油ㄟ^打印對象來得到我們想要得到信息,而不是得到
查看所有輸入的信息,沒有重寫toString時: [controller.Student@6e0be858]
重寫了toString方法就可以得到看得懂。也可以通過Alt+Inset快捷鍵來快速生成toString方法
1
2
3
4
5
|
@Override public String toString(){ //重寫toString方法,使其變成我們看得懂的指定的信息 return "[姓名:" +name+ ",年齡:" +age+ ",電話:" +num+ ",關系:" +sid+ ",住址:" +address+ "]\n" ; } } |
以上都是在People類中。
我們在PeopleManner類下,書寫以下方法。
main方法中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public static void main(String[] args) { ArrayList<People> array = new ArrayList(); while ( true ) { People s = new People(); //創(chuàng)建對象,調(diào)用方法。 s.菜單(); Scanner sc1 = new Scanner(System.in); int d = sc1.nextInt(); switch (d) { case 1 : { addPeople(array); System.out.println( "添加聯(lián)系人成功" ); break ; } case 2 :{ deletePeople(array); break ; } case 3 :{ revisePeople(array); break ; } case 4 :{ checkPeople(array); break ; } case 5 :{ System.out.println( "退出成功,謝謝使用" ); System.exit( 0 ); break ; } default :{ System.out.println( "輸入錯誤,請重新輸入" ); } } } |
在增加聯(lián)系人的方法addPeople中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public static void addPeople(ArrayList<People> array){ Scanner sc= new Scanner(System.in); System.out.println( "請輸入姓名" ); String name=sc.nextLine(); System.out.println( "請輸入電話號碼" ); String num=sc.nextLine(); System.out.println( "請輸入你們之間的關系" ); String sid=sc.nextLine(); System.out.println( "請輸入年齡" ); String age=sc.nextLine(); System.out.println( "請輸入家庭住址" ); String address=sc.nextLine(); People s1= new People(); //創(chuàng)建對象,調(diào)用set成員,設置成員的值 s1.setAddress(address); s1.setAge(age); s1.setName(name); s1.setSid(sid); s1.setNum(num); array.add(s1); //將所有設置的變量加到集合中 } |
在查看所有聯(lián)系人的方法checkPeople中
1
2
3
4
5
6
7
8
9
|
public static void checkPeople(ArrayList<People> array){ if (array.isEmpty()){ //isEmpty是用來判斷非空的是collection接口的方法,ArrayList實現(xiàn)了 list接口,list接口繼承了collection接口 System.out.println( "沒有聯(lián)系人信息,請先添加聯(lián)系人后查看" ); } else { System.out.println(array);} //查看所有輸入的信息,沒有重寫toString時: //[controller.Student@6e0be858] } |
在刪除聯(lián)系人信息方法中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public static void deletePeople(ArrayList<People> array){ if (array.isEmpty()){ System.out.println( "沒有聯(lián)系人信息,請先添加聯(lián)系人信息再操作" ); } else { Scanner sc= new Scanner(System.in); System.out.println( "請輸入你要刪除聯(lián)系人名字" ); String num=sc.nextLine(); int sum= 0 ; for ( int i= 0 ;i<array.size();i++) { People stu = array.get(i); // System.out.println(stu);//stu包括了一個元素聯(lián)系人的所有信(name,age...) if (stu.getName().equals(num)) { array.remove(i);sum++; //定義一個變量用來判斷是否含有該元素 System.out.println( "刪除成功" ); } } if (sum== 0 ){ System.out.println( "刪除失敗,該聯(lián)系人信息不存在" ); } } } |
在定義修改聯(lián)系人信息的方法中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
public static void revisePeople(ArrayList<People> array) { if (array.isEmpty()) { System.out.println( "沒有聯(lián)系人信息!請?zhí)砑雍笤谶M行操作" ); } else { Scanner sc1 = new Scanner(System.in); System.out.println( "請輸入你要修改聯(lián)系人的姓名" ); String name1 = sc1.nextLine(); int sum = 0 ; for ( int j = 0 ; j < array.size(); j++) { People s2 = array.get(j); if (s2.getName().equals(name1)) { sum++; } } if (sum == 0 ) { System.out.println( "沒有匹配的姓名,重新輸入" ); } else { Scanner sc = new Scanner(System.in); System.out.println( "請輸入新姓名" ); String name = sc.nextLine(); System.out.println( "請輸入新電話碼" ); String num = sc.nextLine(); System.out.println( "請輸入你們之間的關系" ); String sid = sc.nextLine(); System.out.println( "請輸入新年齡" ); String age = sc.nextLine(); System.out.println( "請輸入新地址" ); String address = sc.nextLine(); People s1 = new People(); s1.setAddress(address); s1.setAge(age); s1.setName(name); s1.setSid(sid); s1.setNum(num); // System.out.println(s1);//s1也是一個包含聯(lián)系人所有信息的元素,所以后續(xù)用array.set(i,s1)等價交換 for ( int i = 0 ; i < array.size(); i++) { People s = array.get(i); if (s.getName().equals(name1)) { array.set(i, s1); //將他修改 System.out.println( "修改成功" ); break ; } } } } } |
最終效果總覽圖:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/weixin_60719453/article/details/121086292