主函数:
package www.telephone.java;
import java.util.Scanner;
/*
* 电话簿主要实现功能:
* 1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 6.退出
* */
public class TelephoneNumberMain {
public static void main(String[] args) {
TelephoneBook telephoneBook = new TelephoneBook();
telephoneBook.choose();
}
}
方法主体,电话本增删改查:
package www.telephone.java;
import java.util.Scanner;
import com.sun.org.apache.bcel.internal.generic.INEG;
public class TelephoneBook {
Contacts[] c = new Contacts[50];
TelephoneNumberMain telephoneNumberMain = new TelephoneNumberMain();
int num; // 联系人个数
// 添加联系人
public void choose() {
Scanner sc = new Scanner(System.in);
System.out.println("----------------电话本管理系统----------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("----------------电话本管理系统----------------\n 请选择操作:");
String a = sc.next();
switch (a) {
case "1":
pAdd();
break;
case "2":
pDelete();
break;
case "3":
pChange();
break;
case "4":
selectAll();
break;
case "5":
selectByName();
break;
case "0":
System.out.println("感谢你的使用。");
System.exit(0);
break;
default:
System.out.println("输入指令错误!请重新输入!");
break;
}
}
public void pAdd() {
System.out.println("------添加联系人------");
System.out.println("请输入相关信息:");
Contacts con = new Contacts();
Scanner sc = new Scanner(System.in);
System.out.print("姓名:");
String name = sc.nextLine();
con.setName(name);
System.out.print("性别:");
String sex = sc.nextLine();
con.setSex(sex.charAt(0));
System.out.print("年龄:");
int age = sc.nextInt();
con.setAge(age);
sc = new Scanner(System.in);
System.out.print("电话:");
String phone = sc.nextLine();
con.setPhoneNumber(phone);
System.out.print("QQ:");
int qqNumber = sc.nextInt();
con.setQqNumber(qqNumber);
sc = new Scanner(System.in);
System.out.print("地址:");
String address = sc.nextLine();
con.setAddress(address);
System.out.println(con);
for (int num = 0; num < c.length; num++) {
if (c[num] == null) {
c[num] = con;
break;
} else {
continue;
}
}
// c[num++] = contacts;
System.out.println("插入成功");
System.out.println(con.toString());
choose();
}
// 删除联系人
public void pDelete() {
System.out.println("------删除联系人------");
System.out.println("请输入你要删除的联系人姓名:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
for (int num = 0; num < c.length; num++) {
if (c[num] != null) {
if (c[num].getName().equals(s)) {
System.out.println("你要删除的是:" + c[num].toString());
System.out.println("你确定要删除吗?\n [1]确定,[0]取消");
int s2 = sc.nextInt();
if (s2 == 1) {
c[num] = null;
System.out.println("删除成功!");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
choose();
} else if (sc.next().equals("n")) {
choose();
} else {
System.out.println("输入指令不正确,请重新输入!");
pDelete();
}
} else {
if (num != c.length - 1) {
continue;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
pDelete();
}
}
} else {
if (num != c.length - 1) {
continue;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
pDelete();
}
}
}
}
public void pChange() {
Scanner sc = new Scanner(System.in);
System.out.println("--------------修改电话本-------------");
System.out.println("请输入你要修改的姓名:");
String s = sc.next();
out: for (int num = 0; num < c.length; num++) {
if (c[num] != null) {
if (c[num].getName().equals(s)) {
System.out.println("你要修改的是:" + c[num].toString());
System.out.println("请重新输入相关信息:");
System.out.print("姓名:");
String name = sc.next();
c[num].setName(name);
System.out.print("性别:");
String sex = sc.next();
c[num].setSex(sex.charAt(0));
System.out.print("年龄:");
int age = sc.nextInt();
c[num].setAge(age);
System.out.print("电话:");
String dianhua = sc.next();
c[num].setPhoneNumber(dianhua);
System.out.print("QQ:");
int qqNumber = sc.nextInt();
c[num].setQqNumber(qqNumber);
System.out.print("地址:");
String address = sc.next();
c[num].setAddress(address);
;
System.out.print("修改成功!");
System.out.println("修改后为:" + c[num].toString());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
choose();
} else {
if (num != c.length - 1) {
continue out;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
pChange();
}
}
} else {
if (num != c.length - 1) {
continue out;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
pChange();
}
}
}
}
// 查询所有方法
public void selectAll() {
System.out.println(c[1]);
System.out.println("--------------所有电话信息---------------");
for (int num = 0; num < c.length; num++) {
if (c[num] != null) {
System.out.println(c[num].toString());
}
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
choose();
}
public void selectByName() {
Scanner sc = new Scanner(System.in);
System.out.println("------------------根据名字查询----------------");
System.out.println("请输入你要查找的名字:");
String s = sc.next();
for (int num = 0; num < c.length; num++) {
if (c[num] != null) {
if (c[num].getName().equals(s)) {
System.out.println("查询结果为:" + c[num].toString());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
choose();
break;
} else {
if (num != c.length - 1) {
continue;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
selectByName();
}
}
} else {
if (num != c.length - 1) {
continue;
} else {
System.out.println("你输入的姓名不存在!请重新输入!");
selectByName();
}
}
}
}
}
构建内部类实现getset方法以及toString方法:
package www.telephone.java;
public class Contacts {
TelephoneBook telephoneBook = new TelephoneBook();
private String name;// 联系人姓名
private char sex;// 联系人性别
private int age; // 联系人年龄
private String phoneNumber; // 联系人电话
private int qqNumber;// 联系人QQ号
private String address;// 联系人地址
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
if (sex != '男' && sex != '女') {
System.out.println("请输入‘男’或‘女’。");
telephoneBook.pAdd();
} else {
this.sex = sex;
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0 && age <= 150) {
this.age = age;
} else {
System.out.println("请输入正确的年龄");
telephoneBook.pAdd();
}
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public int getQqNumber() {
return qqNumber;
}
public void setQqNumber(int qqNumber) {
this.qqNumber = qqNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "电话簿 [姓名=" + name + ", 性别=" + sex + ", 年龄=" + age + ", 电话号码=" + phoneNumber + ", QQ号=" + qqNumber
+ ", 地址=" + address + "]";
}
}