1、 通讯录的实验内容:
通过应用 Java 中常用的数组和字符串,编写一个简单的通讯录程序,来熟悉系统类和数组的应用。
通讯录由多条记录构成。每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有显示、查询、增加、修改、删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有
信息记录:
编号 姓名 性别 电话 通信地址
01 张三 男 123456 上海
02 李四 女 456789 桂林
可考虑用数组分别存储姓名,性别,电话,通信地址,那么显示、查询,增加、修改、删除操作就
可转换为对数组元素的操作。通讯录中的所有记录的每一个字段可以采用一维或二维或其它类型数组来存放。 请发挥自己的思考能力,用自己熟悉的或者觉得更合理的方式来设计程序解决问题,完成该实验。
主类:
package JavaClass;
import java.util.ArrayList;
import java.util.Scanner;
public class Java2_2 {
public static void main(String[] args) {
ArrayList<Java2_2_Student> student=new ArrayList<Java2_2_Student>();
addPerson(student);
addPerson(student);
lookPerson(student);
findPerson(student);
deletePerson(student);
lookPerson(student);
modifyPerson(student);
lookPerson(student);
}
// 增加一个联系人
public static void addPerson(ArrayList<Java2_2_Student> student){
System.out.println("请以此输入联系人的编号,姓名,性别,电话号码,地址");
Scanner sc=new Scanner(System.in);
String sno=sc.next();
String name=sc.next();
String sex=sc.next();
String pho=sc.next();
String add=sc.next();
Java2_2_Student s1=new Java2_2_Student(sno,name,sex,pho,add);
student.add(s1);
}
// 查看所有联系人
public static void lookPerson(ArrayList<Java2_2_Student> student){
System.out.println("编号\t\t姓名\t\t性别\t\t电话\t\t\t通信地址");
for(Java2_2_Student k:student){
System.out.println(k.getSno()+"\t\t"+k.getName()+"\t\t"+k.getSex()+"\t\t"+k.getPho()+"\t\t"+k.getAdd());
}
}
// 查找一个联系人
public static void findPerson(ArrayList<Java2_2_Student> student){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要查询的联系人的姓名:");
String name = sc.next();
for(Java2_2_Student k:student){
if(k.getName().equals(name)){
System.out.println(k.getSno()+"\t\t"+k.getName()+"\t\t"+k.getSex()+"\t\t"+k.getPho()+"\t\t"+k.getAdd());
}
}
}
// 删除一个联系人
public static void deletePerson(ArrayList<Java2_2_Student> student){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的联系人的姓名:");
String name = sc.next();
int temp;
for(int i=0;i<student.size();i++){
if(student.get(i).getName().equals(name)){
temp=i;
student.remove(temp);
}
}
}
// 修改联系信息
public static void modifyPerson(ArrayList<Java2_2_Student> student){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改的联系人的姓名:");
String name=sc.next();
System.out.println("请你输入要修改的属性:");
String element=sc.next();
System.out.println("请你输入修改后的内容:");
String modifyElement=sc.next();
for(Java2_2_Student k:student){
if(k.getName().equals(name)){
switch (element){
case "编号":
k.setSno(modifyElement);
break;
case "姓名":
k.setName(modifyElement);
break;
case "电话":
k.setPho(modifyElement);
break;
case "地址":
k.setAdd(modifyElement);
break;
}
}
}
}
}
学生类:
package JavaClass;
public class Java2_2_Student {
private String sno;
private String name;
private String pho;
private String sex;
private String add;
public Java2_2_Student(String sno, String name,String sex,String pho, String add) {
this.sno = sno;
this.name = name;
this.pho = pho;
this.sex = sex;
this.add = add;
}
public Java2_2_Student() {
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPho() {
return pho;
}
public void setPho(String pho) {
this.pho = pho;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAdd() {
return add;
}
public void setAdd(String add) {
this.add = add;
}
}
执行结果:
写的挺菜的,太多静态函数了,不介意的可以取。