Java实现通讯录管理系统项目

本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下

一、前言

我们学了这么久的知识了,光学知识不会用是一件很悲伤的事情,所以我们应学完

部分练一些项目或题,来巩固我们学习的知识,激发我们持续学习的动力。

二、创建通讯的功能

  • 增加联系人信息
  • 删除联系人信息
  • 修改联系人信息
  • 查看所有联系人信息
  • 退出通信录管理系统

首先定义一个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类中加上菜单,并在测试类中去调用。

?

1

2

3

4

5

6

7

8

9

public void 菜单(){

System.out.println("-------欢迎来到通讯录管理系统-------");

System.out.println("1.增加联系人");

System.out.println("2.删除联系人");

System.out.println("3.修改联系人");

System.out.println("4.查看所有联系人");

System.out.println("5.退出");

System.out.println("请选择:");

}

我们为了能直接通过打印对象来得到我们想要得到信息,而不是得到

查看所有输入的信息,没有重写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();//创建对象,调用方法。

s.菜单();

Scanner sc1 = new Scanner(System.in);

int d = sc1.nextInt();

switch (d) {

case 1: {

addPeople(array);

System.out.println("添加联系人成功");

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("输入错误,请重新输入");

}

}

}

在增加联系人的方法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();//创建对象,调用set成员,设置成员的值

s1.setAddress(address);

s1.setAge(age);

s1.setName(name);

s1.setSid(sid);

s1.setNum(num);

array.add(s1);//将所有设置的变量加到集合中

}

在查看所有联系人的方法checkPeople中

?

1

2

3

4

5

6

7

8

9

public static void checkPeople(ArrayList<People> array){

if(array.isEmpty()){//isEmpty是用来判断非空的是collection接口的方法,ArrayList实现了

list接口,list接口继承了collection接口

System.out.println("没有联系人信息,请先添加联系人后查看");

}

else{

System.out.println(array);}//查看所有输入的信息,没有重写toString时:

//[controller.Student@6e0be858]

}

在删除联系人信息方法中

?

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("没有联系人信息,请先添加联系人信息再操作");

}

else{

Scanner sc=new Scanner(System.in);

System.out.println("请输入你要删除联系人名字");

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包括了一个元素联系人的所有信(name,age...)

if(stu.getName().equals(num)) {

array.remove(i);sum++;//定义一个变量用来判断是否含有该元素

System.out.println("删除成功");

}

}

if(sum==0){

System.out.println("删除失败,该联系人信息不存在");

}

}

}

在定义修改联系人信息的方法中

?

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("没有联系人信息!请添加后在进行操作");

} else {

Scanner sc1 = new Scanner(System.in);

System.out.println("请输入你要修改联系人的姓名");

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也是一个包含联系人所有信息的元素,所以后续用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;

}

}

}

}

}

最终效果总览图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_60719453/article/details/121086292

本文链接:https://my.lmcjl.com/post/7687.html

展开阅读全文

4 评论

留下您的评论.