对昨天的电话本的一个完善,使用的不再是数组,而是用list实现对数据的操作,直接贴代码,还有许多不完善的地方,希望大神们多多指教。
public class Info {
private String name;
private String sex;
private String age;
private String phoneNumber;
private String qq;
private String adr;
public Info(){
}
public Info(String name,String sex,String age,String phoneNumber,
String qq,String adr){
this.name = name;
this.sex = sex;
this.age = age;
this.phoneNumber = phoneNumber;
this.qq = qq;
this.adr = adr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAdr() {
return adr;
}
public void setAdr(String adr) {
this.adr = adr;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Functiion extends Info{
static List<Info> infoList = new ArrayList<Info>();
static Scanner sc = new Scanner(System.in);
//增加
public void add(){
System.out.println("您选择的是添加操作,请添加联系人的信息:");
System.out.print("姓名:");
String name=sc.next();
System.out.print("性别:");
String sex=sc.next();
System.out.print("年龄:");
String age = sc.next();
System.out.print("电话:");
String phoneNumber=sc.next();
System.out.print("QQ:");
String qq=sc.next();
System.out.print("地址:");
String adr=sc.next();
Info info = new Info(name,sex,age,phoneNumber,qq,adr);
while(true) {
infoList.add(info);
System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age+",电话:"
+ ""+phoneNumber+",地址:"+adr);
System.out.println("添加成功");
break;
}
}
//删除
public void delete(){
System.out.println("请输入你要删除的人的姓名:");
String name = sc.next();
for(int i=0;i<infoList.size();i++){
if(infoList.get(i).getName().equals(name)){
System.out.println("姓名:"+infoList.get(i).getName()+" 性别:"+infoList.get(i).getSex()
+" 年龄:"+infoList.get(i).getAge()+" QQ:"+infoList.get(i).getQq()+" 电话:"+infoList.get(i).getPhoneNumber()
);
System.out.println("确定要删除吗?1.是 2.否");
int x=sc.nextInt();
if(x==1){
infoList.remove(i);
}
System.out.println("删除成功");
break;
}
else{
System.out.println("此人不存在,请重新选择您要进行的操作:");
}
}
}
//修改
public void change(){
System.out.println("您选择的为修改操作,请完成以下操作:");
System.out.print("请输入姓名:");
String name=sc.next();
for(int i=0;i<infoList.size();i++){
if(infoList.get(i).getName().equals(name)){
System.out.println("你要修改的联系人的信息:"
+ "姓名:"+infoList.get(i).getName()+" 性别:"+infoList.get(i).getSex()
+" 年龄:"+infoList.get(i).getAge()+" QQ:"+infoList.get(i).getQq()+" 电话:"+infoList.get(i).getPhoneNumber()
);
System.out.println("请输入修改后的信息:");
System.out.print("姓名:");
String name1=sc.next();
System.out.print("性别:");
String sex1=sc.next();
System.out.print("年龄:");
String age1 = sc.next();
System.out.print("电话:");
String phoneNumber1=sc.next();
System.out.print("QQ:");
String qq1=sc.next();
System.out.print("地址:");
String adr1=sc.next();
Info info= new Info(name1,sex1,age1,phoneNumber1,qq1,adr1);
infoList.set(i,info);
System.out.println("修改成功");
break;
}
else
{
System.out.println("此人不存在,请重新选择您要进行的操作:");
}
}
}
//查询所有
public void printAll(){
System.out.println("以下为所有联系人的信息:");
for(int i=0;i<infoList.size();i++){
System.out.println("姓名:"+infoList.get(i).getName()+" 性别:"+infoList.get(i).getSex()
+" 年龄:"+infoList.get(i).getAge()+" QQ:"+infoList.get(i).getQq()+" 电话:"+infoList.get(i).getPhoneNumber()
);
}
}
//按姓名查询
public void printByName(){
System.out.println("你选择的为查询操作:");
System.out.print("请输入您要查询的联系人的姓名:");
String name=sc.next();
//int i=0;
for(int i=0;i<infoList.size();i++){
if(infoList.get(i).getName().equals(name)){
System.out.println("您要查询的联系人信息为:"+"姓名:"+infoList.get(i).getName()+" 性别:"+infoList.get(i).getSex()
+" 年龄:"+infoList.get(i).getAge()+" QQ:"+infoList.get(i).getQq()+" 电话:"+infoList.get(i).getPhoneNumber()
);
break;
}else{
System.out.println("此人不存在");
}
}
}
}
import java.util.Scanner;
import com.hpe.po.Functiion;
public class Main {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
Menu();
Functiion functiion =new Functiion();
while(true) {
String choose = scanner.next();
switch(choose) {
case "1":
//添加联系人
functiion.add();
Menu();
break;
case "2":
//删除联系人
functiion.delete();
Menu();
break;
case "3":
//修改联系人信息
functiion.change();
Menu();
break;
case "4":
//输出所有联系人的信息
functiion.printAll();
Menu();
break;
case "5":
//按姓名查询
functiion.printByName();
Menu();
break;
case "0":
System.out.println("谢谢使用");
break;
default:
System.out.println("输入有误,请重新输入");
}
if(choose.equals("0")) {
break;
}
}
}
public static void Menu(){
System.out.println(" ");
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.按姓名查询 0.退出");
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("请选择你要进行的操作:");
}
}