一个简单地通过控制台用对象写的电话本管理系统

来源:互联网 发布:我国的网络技术发展还 编辑:程序博客网 时间:2024/06/06 00:22
public class Phone {
private String name;
private String gender;
private int age;
private String qq;
private String tel;

public String toString() {
return "姓名:" + this.name +
" 性别:" + this.gender +
" 年龄:" + this.age +
" QQ:" + this.qq +
" 电话:" + this.tel;
}

public String getName() { //获得姓名
return this.name;
}

public void setName(String name) { //设置姓名
this.name = name;
}

public String getGender() {
return this.gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public int getAge() {
return this.age;
}

public void setAge(int age) {
this.age = age;
}

public String getQq() {
return this.qq;
}

public void setQq(String qq) {
this.qq = qq;
}

public String getTel() {
return this.tel;
}

public void setTel(String tel) {
this.tel = tel;
}
}
public class Phone {
private String name;
private String gender;
private int age;
private String qq;
private String tel;

public String toString() {
return "姓名:" + this.name +
" 性别:" + this.gender +
" 年龄:" + this.age +
" QQ:" + this.qq +
" 电话:" + this.tel;
}

public String getName() { //获得姓名
return this.name;
}

public void setName(String name) { //设置姓名
this.name = name;
}

public String getGender() {
return this.gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public int getAge() {
return this.age;
}

public void setAge(int age) {
this.age = age;
}

public String getQq() {
return this.qq;
}

public void setQq(String qq) {
this.qq = qq;
}

public String getTel() {
return this.tel;
}

public void setTel(String tel) {
this.tel = tel;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class PhoneManage {
List<Phone> phones = new ArrayList<>();

private Phone input(Scanner sc) {
Phone ph = new Phone();
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入性别:");
String gender = sc.next();
System.out.print("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入QQ号码:");
String qq = sc.next();
System.out.println("请输入电话号码:");
String tel = sc.next();
ph.setName(name);
ph.setGender(gender);
ph.setAge(age);
ph.setQq(qq);
ph.setTel(tel);

return ph;
}

public boolean add(Scanner sc) { //添加联系人
try {
phones.add(input(sc));
} catch (Exception e) {
System.out.println(e.getMessage());
return false;
}
return true;
}

public void showAll() { //打印电话本所有信息
System.out.println("电话本的全部信息为:");
for(Phone ph1:phones) {
System.out.println(ph1.toString());
}
}
public void findByName(Scanner sc){
System.out.println("请输入要查找的联系人的姓名:");
String name = sc.next();
Phone findPhone = new Phone();
for(Phone p1:phones) {
if(p1.getName().equals(name)) {
findPhone = p1;
break;
}
}

if(findPhone.getName() == null) {
System.out.println("你查找的联系人的名字不存在!");
}
else {
System.out.println(findPhone.toString());
}
}
public boolean delete(Scanner sc) {
System.out.println("请输入要删除联系人的姓名:");
String name = sc.next();
Phone deletePhone = new Phone();
for(Phone p:phones) {
if(p.getName().equals(name)) {
deletePhone = p;
break;
}
}

if(deletePhone.getName() == null) {
System.out.println("你输入的名字不正确!");
}
else {
phones.remove(deletePhone);
}
return true;
}

public boolean modify(Scanner sc) { //修改联系人
System.out.println("请输入要修改信息的名字:");
String name = sc.next();
Phone modifyPhone = new Phone();
for(Phone p:phones) {
if(p.getName().equals(name)) {
modifyPhone = p;
break;
}
}
if(modifyPhone.getName() == null) {
System.out.println("你输入的名字不正确!");
}
else {
Phone pn = input(sc);
modifyPhone.setName(pn.getName());
}
return true;
}
}
import java.util.Scanner;

public class PhoneTest {

public static void main(String[] args) {
boolean isExit = false;
while(!isExit){
System.out.println("————————————————————电话本管理系统————————————————————");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("————————————————————电话本管理系统————————————————————");
Scanner sc = new Scanner(System.in);
PhoneManage pme = new PhoneManage();
System.out.println("请选择您要执行的业务:");
String type = sc.next();
switch (type) {
case "1": // 添加
pme.add(sc);
break;
case "2": // 删除
pme.delete(sc);
break;
case "3": // 修改
pme.modify(sc);
break;
case "4": // 查询所有
pme.showAll();
break;
case "5":
pme.findByName(sc);
break;
case "0":
isExit = true;
break;
default:
System.out.println("您的选择不正确,请重新选择:");
break;
}
}

}

注意:由于本人为一名菜鸟,此程序存在bug,希望大神能多指教,修正。谢谢

0 0
原创粉丝点击