<span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">1、</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: normal; background-color: rgb(255, 255, 255);">实现要求页面展示:</span>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">1、</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: normal; background-color: rgb(255, 255, 255);">实现要求页面展示:</span>
2、具体实现:在工程里建三个类Telephone.java、TelephoneManagement.java、TelephoneTest.java。在Telephone.java里进行电话薄人员属性的设置;TelephoneManagement.java中各实现功能方法的设置;TelephoneTest.java中调用方法,实现要求功能。
3、
具体代码实现:(此代码设置了四个属性,其余属性相同道理)
Telephone类:
public class Telephone {
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
private String tel; // 电话
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
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 String toString() {
return "姓名:" + name + ", 性别:" + gender + ", 年龄:" + age + ", 电话" + tel;
}
}
TelephoneManagement类:
import java.util.HashSet;
import java.util.Scanner;
public class TelephoneManagement {
private static HashSet<Telephone> phones = new HashSet<Telephone>();
private static Telephone Init(Scanner sc) { //Scanner sc对象 键盘输入值
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入性别:");
String gender = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入电话号码:");
String tel = sc.next();
Telephone phone = new Telephone(); //Telephone属性都为私有,通过get、set方法进行设置
phone.setName(name);
phone.setGender(gender);
phone.setAge(age);
phone.setTel(tel);
return phone;
}
public static boolean add(Scanner sc) { // 1、添加电话薄人员信息
try {
Telephone phone = Init(sc); // 静态方法的调用Init
phones.add(phone);
System.out.println("添加成功,添加电话信息为:");
System.out.println(phone.toString());
return true;
} catch (Exception e) {
System.err.println(e.getMessage());
return false;
}
}
public static boolean remove(Scanner sc) { // 2、删除查找者的信息
try {
if (phones.size() != 0) { //判断电话薄内是否有信息,下面也是
System.out.println("请输入要删除者的姓名:");
String removeName = sc.next();
for (Telephone p : phones) { //for-each遍历集合
if (p.getName().equals(removeName)) {
System.out.println(p.toString());
phones.remove(p); //p为查找到的对象
System.out.println("删除成功");
break;
} else {
System.out.println("抱歉,没有您要查找的人");
return false;
}
}
} else {
System.out.println("电话薄目前没有信息");
}
} catch (Exception e) {
System.err.println(e.getMessage());
return false;
}
return true;
}
public static void showAll() { // 4、电话薄所有的信息
try {
if (phones.size() != 0) {
System.out.println("所有电话信息为:");
for (Telephone phone : phones) {
System.out.println(phone.toString());
}
} else {
System.out.println("电话薄暂时没有内容");
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
public static boolean modify(Scanner sc) { // 3.修改
try {
System.out.println("请输入你要修改的姓名:");
String nameModify = sc.next();
Telephone phone = null;
for (Telephone p : phones) {
if (p.getName().equals(nameModify)) {
phone = p; //将p的地址值赋给phone
break;
}
}
if (phone == null) {
System.out.println("你输入的姓名不存在!");
return false;
}
Telephone phoneNew = Init(sc); //进行phone在集合的赋值
phone.setName(phoneNew.getName());
phone.setGender(phoneNew.getGender());
phone.setAge(phoneNew.getAge());
phone.setTel(phoneNew.getTel());
return true;
} catch (Exception e) {
System.err.println(e.getMessage());
return false;
}
}
public static boolean search(Scanner sc) { //5、 根据姓名进行查询
try {
System.out.println("输入要查询者的姓名:");
if (phones.size() != 0) {
String searchName = sc.next();
for (Telephone pho : phones) {
if (pho.getName().equals(searchName)) {
System.out.println(pho.toString());
return true;
} else {
System.out.println("没有您要查询者的信息");
return false;
}
}
} else {
System.out.println("电话薄暂时没有信息");
}
} catch (Exception e) {
System.err.println(e.getMessage());
return false;
}
return false;
}
}
TelephoneTest类:
import java.util.Scanner;
public class TelephoneTest {
public static void main(String[] args) {
boolean isExit = false;
Scanner sc = new Scanner(System.in);
while (!isExit) {
System.out.println("————————————————————电话本管理系统————————————————————");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("————————————————————电话本管理系统————————————————————");
System.out.println("请选择业务:");
String type = sc.next();
switch (type) {
case "1": // 1、添加业务
TelephoneManagement.add(sc);
break;
case "2": //2.删除
TelephoneManagement.remove(sc);
break;
case "3": //3.修改
TelephoneManagement.modify(sc);
break;
case "4": //4.查询所有
TelephoneManagement.showAll();
break;
case "5": // 5.根据姓名查询
TelephoneManagement.search(sc);
break;
case "0": //0.退出
isExit = true;
break;
}
}
sc.close();
}
}
4、收获:
HashSet集合方法的使用,类整体的设计,相对应参数值的传递,方法的设置与灵活调用。