Telphone类
package Telphone;
public class Telphone {
private String name;//姓名
private String sex;//性别
private int age;//年龄
private String tel;//电话
private int qq;//QQ
private String adress;//地址
public Telphone(String name, String sex, int age, String tel, int qq, String adress) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.tel = tel;
this.qq = qq;
this.adress = adress;
}
public Telphone() {
super();
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public int getQq() {
return qq;
}
public void setQq(int qq) {
this.qq = qq;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
}
package Telphone;
import java.util.Scanner;
public class Test {
static int N=5;
//1.添加 2.修改 3.删除 4.查询所有 5.根据姓名查询 6.退出
public static void main(String[] args) {
// TODO Auto-generated method stub
Telphone[] tel=new Telphone[N];
for(int x=0;x<N;x++) {//初始化电话簿,给几个人
tel[x]=new Telphone(""+x,"男",0,"",0,"");
}
Frame();
System.out.println();
System.out.println("请输入指令:");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
String name;
int j=0;//接收电话簿人数
boolean flag=false;
while(i!=0) {
switch(i) {
case 1:
j=findAll(tel);
if(j>N)
System.out.println("电话簿已满,无法添加");
else
flag=addTel(tel);
if(flag==true)
System.out.println("添加成功!");
break;
case 2:
System.out.println("输入要修改的人的姓名");
name=sc.next();
flag=updateTel(tel,name);
if(flag==true)
System.out.println("修改成功!");
else
System.out.println("修改失败!");
break;
case 3:
System.out.println("输入要删除人的姓名:");
name=sc.next();
flag=delTel(tel,name);
if(flag==true)
System.out.println("删除成功!");
else
System.out.println("删除失败!");
break;
case 4:
j=findAll(tel);
if(j==0)
System.out.println("当前电话簿无记录!");
break;
case 5:
System.out.println("输入要查找的人的姓名");
name=sc.next();
findByName(tel,name);
System.out.println();
break;
case 0:
System.out.println("退出系统!");
break;
default:
System.out.println("输入指令错误!");
}
name="";
flag=false;
System.out.println("请输入指令:");
i=sc.nextInt();
}
System.out.println("退出系统!");
}
public static void Frame() {//主界面
System.out.print("=================================================================");
System.out.println();
System.out.print("1.添加 2.修改 3.删除 4.查询所有 5.根据姓名查询 0.退出");
System.out.println();
System.out.print("=================================================================");
}
public static boolean addTel(Telphone[] tel1) {//添加
Scanner sc=new Scanner(System.in);
boolean flag=false;
String s;
int j=0;
for(int i=0;i<N;i++) {//遍历数组,找到空的地方即插入
if(tel1[i].getAge()==0) {
System.out.println("请输入信息:");
System.out.print("姓名:");
s=sc.next();
tel1[i].setName(s);
System.out.print("性别:");
s=sc.next();
tel1[i].setSex(s);
System.out.print("年龄:");
j=sc.nextInt();
tel1[i].setAge(j);
System.out.print("手机:");
s=sc.next();
tel1[i].setTel(s);
System.out.print("QQ:");
j=sc.nextInt();
tel1[i].setQq(j);
System.out.print("地址:");
s=sc.next();
tel1[i].setAdress(s);
flag=true;//添加成功后则返回true
break;
}
}
return flag;
}
public static boolean delTel(Telphone[] tel1,String name) {//删除
boolean flag=false;
for(int i=0;i<N;i++) {
if(tel1[i].getName().equals(name)) {//将数组内容做成0,null形式,并非真的删除,而是设计其无法查出
tel1[i].setName("");
tel1[i].setSex("男");
tel1[i].setAge(0);
tel1[i].setTel("");
tel1[i].setQq(0);
tel1[i].setAdress("");
flag=true;
break;
}
}
return flag;
}
public static boolean updateTel(Telphone[] tel1,String name) {//修改
Scanner sc=new Scanner(System.in);
boolean flag=false;
String s;
for(int i=0;i<N;i++) {
if(tel1[i].getName().equals(name)) {//判断姓名是否匹配
System.out.println("请输入信息:");
System.out.print("姓名:");
tel1[i].setName(sc.next());
System.out.print("性别:");
tel1[i].setSex(sc.next());
System.out.print("年龄:");
tel1[i].setAge(sc.nextInt());
System.out.print("手机:");
tel1[i].setTel(sc.next());
System.out.print("QQ:");
tel1[i].setQq(sc.nextInt());
System.out.print("地址:");
tel1[i].setAdress(sc.next());
flag=true;
break;
}
}
return flag;
}
public static int findAll(Telphone[] tel1) {//查所有
int i=0;
int j=0;
for(i=0;i<N;i++) {//遍历数组,只要其年龄不是默认值0,则可判断其内有数据
if(tel1[i].getAge()!=0) {
System.out.print("姓名:"+tel1[i].getName()+" 性别:"+tel1[i].getSex()+" 年龄:"+tel1[i].getAge()+" 手机:"+tel1[i].getTel()+" QQ:"+tel1[i].getQq()+" 地址"+tel1[i].getAdress());
System.out.println(i);
j++;
}else
break;
}
return j;//返回电话簿的人数
}
public static void findByName(Telphone[] tel1,String name) {//查姓名
for(int i=0;i<N;i++) {
if(tel1[i].getName().equals(name)) {
System.out.print("姓名:"+tel1[i].getName()+" 性别:"+tel1[i].getSex()+" 年龄:"+tel1[i].getAge()+" 手机:"+tel1[i].getTel()+" QQ:"+tel1[i].getQq()+" 地址"+tel1[i].getAdress());
}
}
}
}
运行结果如图:由于运行环境问题,尽量输入英文,避免异常