代码如下:
题目:大概就是叫你用Java写一个模拟的通讯录程序,和数据结构程序设计差不多,要求实现增删改查,然后一些细节我就懒得写了。
我也懒得说那么多了,主要就是一个类,一些静态方法,这里用ArrayList方便一些,毕竟Person(name,tel);
package homework;
import static java.lang.System.out;
import java.util.ArrayList;
import java.util.Scanner;
class Person{ //联系人类
private String name;
private String tel;
public Person() {
}
/**
*
* @param name联系人
* @param tel电话号码
*/
public Person(String name,String tel) {
this.name=name;
this.tel=tel;
}
//setter getter
public void setName(String name) {
this.name=name;
}
public void setTel(String tel) {
this.tel=tel;
}
public String getName() {
return name;
}
public String getTel() {
return tel;
}
}
public class testPhone {//主函数
public static void main(String[] args) {
ArrayList<Person> array=new ArrayList<Person>();
array.add(new Person("张三","15749929275"));
array.add(new Person("李四","12345678902"));
array.add(new Person("王五","18324563624"));
array.add(new Person("陈七","18255366346"));
while(true) {
System.out.println("--------------通讯录菜单-------------");
out.println("1 增加联系人");
out.println("2 删除联系人");
out.println("3 修改联系人信息");
out.println("4 按名字查找联系人信息");
out.println("5 按电话号码查找联系人信息");
out.println("6 显示全部联系人信息");
out.println("7 退出");
out.println("------------------------------------");
out.println("请输入要执行的操作前的数字");
Scanner sc=new Scanner(System.in);
int d=sc.nextInt();
switch(d) {
case 1:add(array);break;
case 2:delete(array);break;
case 3:modify(array);break;
case 4:nameFind(array);break;
case 5:numberFind(array);break;
case 6:display(array);break;
case 7:exit();break;
}
}
}
public static void add(ArrayList array) {
Scanner sc=new Scanner(System.in);
String name;
out.println("请输入姓名: ");
name=sc.next();
out.println("请输入手机号码:");
String tel=sc.next();
array.add(new Person(name,tel));
out.println("输入成功");
}
public static void delete(ArrayList<Person> array) {
Scanner sc=new Scanner(System.in);
out.println("请输入要删除的联系人姓名");
String name=sc.next();
int x=1;
for(int i=0;i<array.size();i++) {
Person p=array.get(i);
if(p.getName().equals(name)) {
array.remove(i);
x=0;
break;
}
}
if(x==1) {
System.out.println("该联系人信息不存在");
}
out.print("删除成功\n");
}
public static void modify(ArrayList<Person> array) {
Scanner sc=new Scanner(System.in);
out.println("请输入要修改的联系人姓名");
String name=sc.next();
for(int i=0;i<array.size();i++) {
Person p=array.get(i);
if(p.getName().equals(name)) {
out.println("请输入修改后的手机号码:");
String tel=sc.next();
p.setTel(tel);
break;
}
out.println("修改信息成功");
}
}
public static void nameFind(ArrayList<Person> array) {
Scanner sc=new Scanner(System.in);
out.println("请输入联系人姓名");
String name=sc.next();
int d=-1;
for(int i=0;i<array.size();i++) {
Person p= array.get(i);
if(p.getName().equals(name)) {
d=1;
System.out.println("该联系人电话号码为"+p.getTel());
}
}
if(d==-1) {
out.println("您输入的联系人人不存在");
}
}
public static void numberFind(ArrayList<Person> array) {
Scanner sc=new Scanner(System.in);
out.println("请输入手机号码:");
String tel=sc.next();
int d=-1;
for(int i=0;i<array.size();i++) {
Person p=(Person) array.get(i);
if(p.getTel().equals(tel)) {
d=1;
System.out.println("该联系人为"+p.getName());
}
}
if(d==-1) {
out.println("您输入的电话号码不存在");
}
}
public static void display(ArrayList<Person> array) {
for(int i=0;i<array.size();i++) {
Person p=array.get(i);
out.println(p.getName()+" "+p.getTel());
}
}
public static void exit() {
System.exit(0);
}
}