自己联系的一段小代码 电话本管理程序

本文介绍了一个基于Java的智能电话本管理系统,包括增加、删除、修改、查询等操作。

源文件

import java.util.Scanner;

public class PhoneBook {
 private String name;
 private String sex;
 private int age;
 private String number;
 private String QQ;
 private String address;
 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 getNumber() {
  return number;
 }
 public void setNumber(String number) {
  this.number = number;
 }
 public String getQQ() {
  return QQ;
 }
 public void setQQ(String qQ) {
  QQ = qQ;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
 @Override
 public String toString() {
  return "PhoneBook [姓名=" + name + ", 性别=" + sex + ", 年龄=" + age + ", 电话=" + number + ", QQ=" + QQ
    + ", 住址=" + address + "]";
 }
 
}
测试文件

import java.util.ArrayList;
import java.util.Scanner;

public class PhoneBookManager {
 public static ArrayList<PhoneBook> booklist = new ArrayList<PhoneBook>();
 public static Scanner sc = new Scanner(System.in);

 public static void main(String[] args) {
  while (true) {
   System.out.println("--------------电话本管理系统--------------");
   System.out.println("1.增加,2.删除,3.修改,4.查询全部,5按姓名查询,0.退出");
   System.out.println("--------------电话本管理系统--------------");
   System.out.println("请选择业务");
   int num = sc.nextInt();
   switch (num) {
   case 1:
    addBook();
    // 添加信息
    break;
   case 2:
    deleteBook();
    // 删除信息
    break;
   case 3:
    updateBook();
    // 修改信息
    break;
   case 4:
    findAll();
    // 输出全部
    break;
   case 5:
    findByName();
    // 根据姓名索引全部信息
    break;
   case 0:
    System.exit(0);
    // 退出系统
    break;
   default:
    System.out.println("选择有误,请重新选择");

   }
  }
 }

 // 根据姓名查找索引
 public static int findIndex(String name) {
  int index = -1;
  for (int i = 0; i < booklist.size(); i++) {
   PhoneBook book = booklist.get(i);
   if (name.equals(book.getName())) {
    index = i;
    break;
   }
  }
  return index;
 }

 private static void addBook() {
  System.out.println("姓名");
  String name = sc.next();
  System.out.println("性别");
  String sex = sc.next();
  System.out.println("年龄");
  int age = sc.nextInt();
  System.out.println("电话号码");
  String number = sc.next();
  System.out.println("QQ");
  String QQ = sc.next();
  System.out.println("住址");
  String address = sc.next();
  // 组合一个PhoneBook对象
  PhoneBook book = new PhoneBook();
  book.setName(name);
  book.setSex(sex);
  book.setAge(age);
  book.setNumber(number);
  book.setQQ(QQ);
  book.setAddress(address);
  // 将对象存入集合
  booklist.add(book);

 }

 private static void deleteBook() {
  System.out.println("请输入要删除的姓名");
  String name = sc.next();
  int index = findIndex(name);// 调用查找方法
  if (index == -1) {
   System.out.println("没有要删除的信息");
   return;// 当前方法截止,回到调用处
  }
  // 打印要删除的信息
  System.out.println("是否要删除 1是;0否");
  int num1 = sc.nextInt();
  if (num1 == 1) {
   booklist.remove(index);
  }
  if (num1 == 0) {
   System.out.println(booklist.get(index));
  }
 }

 private static void updateBook() {
  // 修改信息
  System.out.println("请输入要修改的姓名");
  String changeName = sc.next();
  int index = findIndex(changeName);
  if (index == -1) {
   System.out.println("没有要修改的人");
   return;
  } else {
   for (int i = 0; i < booklist.size(); i++) {
    PhoneBook book = booklist.get(i);
    if (changeName.equals(book.getName())) {
     index = i;
     break;
    }
   }
   System.out.println("找到要修改的人:请重新输入信息");
   System.out.println("姓名");
   String name = sc.next();
   System.out.println("性别");
   String sex = sc.next();
   System.out.println("年龄");
   int age = sc.nextInt();
   System.out.println("电话");
   String number = sc.next();
   System.out.println("QQ");
   String QQ = sc.next();
   System.out.println("住址");
   String address = sc.next();
   // 组合一个PhoneBook对象
   PhoneBook book1 = new PhoneBook();
   book1.setName(name);
   book1.setSex(sex);
   book1.setAge(age);
   book1.setNumber(number);
   book1.setQQ(QQ);
   book1.setAddress(address);
   // 将对象存入集合
   booklist.set(index, book1);
  }
 }

 private static void findAll() {
  // TODO Auto-generated method stub
  for (PhoneBook book : booklist) {
   System.out.println(book);
  }
 }

 private static void findByName() {
  // TODO Auto-generated method stub
  // 根据姓名索引信息
  // TODO Auto-generated method stub
  System.out.println("请输入要查找的姓名");
  String findName = sc.next();
  // 先在集合里找到对象
  // 再在对象里找到进行对比
  int index = findIndex(findName);
  if (index == -1) {
   System.out.println("没有要查找的人");
   return;
  } else {
   for (int i = 0; i < booklist.size(); i++) {
    PhoneBook book = booklist.get(i);
    if (findName.equals(book.getName())) {
     index = i;
     break;
    }
   }
   System.out.println(booklist.get(index));
  }
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值