TelephoneItem类
package com.qfedu.bean; public class TelephoneItem { private String name; private String gender; private int age; private String tel; private String qq; private String addr; //无参的构造方法 public TelephoneItem() { } //有参的构造方法 public TelephoneItem(String name, String gender, int age, String tel, String qq, String addr) { this.name = name; this.gender = gender; this.age = age; this.tel = tel; this.qq = qq; this.addr = addr; } 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 getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } @Override public String toString() { return "TelephoneItem{" + "姓名:'" + name + ''' + ", 性别:'" + gender + ''' + ", 年龄:" + age + ", 电话:'" + tel + ''' + ", QQ:'" + qq + ''' + ", 地址:'" + addr + ''' + '}'; } }TelephoneBook类
package com.qfedu.bean; import java.io.*; import java.util.ArrayList; import java.util.List; public class TelephoneBook { //属性 private ListUI类items; //构造方法 public TelephoneBook() { this.items = new ArrayList<>(); } //①读取配置文件 public void init() throws IOException { BufferedReader in = new BufferedReader(new FileReader("C:/Asmoday/Apractice/00/Telephone_IO.txt")); String line = null; while ((line = in.readLine()) != null){ String[] arr = line.split("\|"); TelephoneItem item = new TelephoneItem(arr[0], arr[1], Integer.parseInt(arr[2]), arr[3], arr[4], arr[5]); this.items.add(item); } in.close();//关闭资源 } //②写配置文件 public void save() throws IOException { //集合中的数据保存在文件中 BufferedWriter out = new BufferedWriter(new FileWriter("C:/Asmoday/Apractice/00/Telephone_IO.txt")); for (TelephoneItem item : this.items) { StringBuffer buffer = new StringBuffer(); buffer.append(item.getName()); buffer.append("|"); buffer.append(item.getGender()); buffer.append("|"); buffer.append(item.getAge()); buffer.append("|"); buffer.append(item.getTel()); buffer.append("|"); buffer.append(item.getQq()); buffer.append("|"); buffer.append(item.getAddr()); String line = buffer.toString(); out.write(line); out.newline(); } out.flush();//刷新 out.close();//关闭资源 } //1.添加 public boolean add(TelephoneItem item) { return this.items.add(item); } //2.删除 public boolean del(String name) { for (int i = 0; i < this.items.size(); i++) { if (this.items.get(i).getName().equals(name)) { this.items.remove(i); return true; } } return false; } //3.修改 public boolean update(String name, TelephoneItem item) { for (int i = 0; i < this.items.size(); i++) { if (this.items.get(i).getName().equals(name)) { this.items.set(i, item); return true; } } return false; } //4.查询所有 public List findAll() { return this.items; } //5.按姓名查询 public TelephoneItem findByName(String name) { for (int i = 0; i < this.items.size(); i++) { TelephoneItem item = this.items.get(i); if (item.getName().equals(name)){ return item; } } return null; } }
package com.qfedu.bean; import java.io.IOException; import java.util.List; import java.util.Scanner; public class UI { public static void help() { System.out.println("------------------------------------通讯录管理系统------------------------------------"); System.out.println("1.添加t2.删除t3.修改t4.查询所有t5.按姓名查询t0.退出"); System.out.println("------------------------------------------------------------------------------------"); System.out.print("请选择要 *** 作的内容:"); } public static boolean login() { Scanner sc = new Scanner(System.in); System.out.print("请输入密码:"); int count = 3; while(true) { String password = sc.next(); if(password.equals("admin")) { System.out.println("登录成功!"); return true; } else { //③判断密码错误达到3次 count--; if(count == 0) { System.out.print("密码输入错误次数达到3次,程序退出..."); System.exit(0); } //②密码错误,重新输入 System.out.print("密码输入错误,还可再输入 " + count + " 次密码,请重新输入:"); } } } public static void telephone() throws IOException { TelephoneBook book = new TelephoneBook(); Scanner sc = new Scanner(System.in); //初始化 *** 作,读取配置文件 book.init(); while(true) { //通讯录管理系统 while (true) { help(); String function = sc.next(); switch (function) { case "1"://添加 System.out.print("姓名:"); String nameAdd = sc.next(); //根据姓名判断用户是否存在 if (book.findByName(nameAdd) != null) { System.out.println("用户已存在!"); break; } System.out.print("性别:"); String genderAdd = sc.next(); System.out.print("年龄:"); int ageAdd = sc.nextInt(); System.out.print("电话:"); String telAdd = sc.next(); System.out.print("QQ:"); String qqAdd = sc.next(); System.out.print("地址:"); String addrAdd = sc.next(); //创建表示通讯录单条信息的对象 TelephoneItem itemAdd = new TelephoneItem(nameAdd, genderAdd, ageAdd, telAdd, qqAdd, addrAdd); if (book.add(itemAdd)) { System.out.println(itemAdd); System.out.println("添加成功"); } else { System.out.println("通讯录已满,信息添加失败..."); } break; case "2"://删除 System.out.print("请输入要删除用户的姓名:"); String nameDel = sc.next(); //根据姓名查询通讯录是否存在 存在-删除 不存在-给用户提示 if (book.findByName(nameDel) == null) { System.out.println("该用户不存在..."); break; } System.out.print("是否确认删除? y-确认 n-取消 "); String funcDel = sc.next(); if (funcDel.equals("y")) { book.del(nameDel); System.out.println("删除成功"); } else if (funcDel.equals("n")) { System.out.println("已取消删除"); } else { System.out.println("输入不合法,请重新输入..."); } break; case "3"://修改 System.out.print("请输入要修改用户的姓名:"); String nameUpdate = sc.next(); TelephoneItem oldItem = book.findByName(nameUpdate); if (oldItem == null) { System.out.println("该用户不存在..."); break; } System.out.println(oldItem); System.out.print("姓名:"); String nameNew = sc.next(); TelephoneItem itemAnothe = book.findByName(nameNew); if (itemAnothe !=null && !nameUpdate.equals(nameNew)) {//不允许修改姓名 System.out.println("该姓名已存在,请输入其他姓名..."); break; } System.out.print("性别:"); String genderNew = sc.next(); System.out.print("年龄:"); int ageNew = sc.nextInt(); System.out.print("电话:"); String telNew = sc.next(); System.out.print("QQ:"); String qqNew = sc.next(); System.out.print("地址:"); String addrNew = sc.next(); TelephoneItem itemNew = new TelephoneItem(nameNew, genderNew, ageNew, telNew, qqNew, addrNew); book.update(nameUpdate, itemNew); System.out.println("用户信息修改成功!"); break; case "4"://查询所有 Listitems = book.findAll(); for (TelephoneItem item : items) { if (item != null) { System.out.println(item); } } break; case "5"://按姓名查询 System.out.print("请输入要查找的用户:"); String nameFind = sc.next(); TelephoneItem findItem = book.findByName(nameFind); if (findItem != null) { System.out.println(findItem); } else { System.out.println("该用户不存在..."); } break; case "0"://退出 //写配置文件 book.save(); System.exit(0); break; default: System.out.println("请按照所给出的提示信息来进行 *** 作..."); } } } } public static void main(String[] args) throws IOException { if (login()) {//如果登录成功调用telephone功能模块 telephone(); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)