AdressBook.java

链接: https://pan.baidu.com/s/1T_qtkjNCPkeRJKAeVPuSsw 密码: bepd


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class AdressBook {public static void main(String []args) throws IOException{while(true){System.out.println("      欢迎来到私人通讯录");System.out.println("请选择你要执行的功能");System.out.println("添加(1)");System.out.println("删除(2)");System.out.println("按照姓名查询(3)");System.out.println("按照手机号查询(4)");System.out.println("修改(5)");System.out.println("按照字母顺序全部显示(6)");System.out.println("退出(7)");Scanner sc=new Scanner(System.in);int x=sc.nextInt();switch(x){case 1:add();break;case 2:delete();break;case 3:demandName();break;case 4:demandNumber();break;case 5:modification();break;case 6:display();break;case 7:exit();break;}}}//将文件中的东西写入集合中public static void readData( ArrayList<Person> array)throws IOException {// 创建输入缓冲流对象BufferedReader br = new BufferedReader(new FileReader("person.txt"));String line;while ((line = br.readLine()) != null) {String[] datas = line.split(",");Person p = new Person();p.setName(datas[0]);p.setTp(datas[1]);p.setAdress(datas[2]);array.add(p);}br.close();}// 把集合中的数据写入文件public static void writeData( ArrayList<Person> array)throws IOException {// 创建输出缓冲流对象BufferedWriter bw = new BufferedWriter(new FileWriter("person.txt"));for (int x = 0; x < array.size(); x++) {Person p = array.get(x);StringBuilder sb = new StringBuilder();sb.append(p.getName()).append(",").append(p.getTp()).append(",").append(p.getAdress());bw.write(sb.toString());bw.newLine();bw.flush();}bw.close();}//添加public static void add() throws IOException{//创建集合对象ArrayList<Person> array = new ArrayList<Person>();//从文件中把数据读取到集合中readData(array);//创建键盘录入对象Scanner sc = new Scanner(System.in);String name;while(true){System.out.println("请输入姓名:");name = sc.nextLine();int x=-1;for(int i=0; i<array.size(); i++) {Person p = array.get(i);if(p.getName().equals(name)) {x= -2; //说明这个人名已经存有寸有手机号了break;}}if(x==-2) {System.out.println("你输入的姓名已经有人用了,请重新输入");}else {break;  }}System.out.println("请输入手机号:");String tp = sc.nextLine();Person p = new Person();System.out.println("请输入地址");String adress=sc.nextLine();p.setName(name);p.setTp(tp);p.setAdress(adress);System.out.println(tp);array.add(p);//把集合中的数据重新写回到文件writeData(array);System.out.println("添加成功");}//删除public static void delete() throws IOException{ArrayList<Person> array = new ArrayList<Person>();//从文件中把数据读取到集合中readData(array);        //创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的人的姓名");String name=sc.nextLine();int x=-1;for(int i=0;i<array.size();i++){Person p=array.get(i);if(p.getName().equals(name)){x=1;System.out.println(x);array.remove(i);writeData(array);System.out.println("删除成功");break;}   }if(x==-1){System.out.println("输入的姓名不存在");}}//按照姓名查询public static void demandName() throws IOException{ArrayList<Person> array=new ArrayList<Person>();readData(array);Scanner sc= new Scanner(System.in);System.out.println("请输入你要查看的的人的姓名:");String name=sc.nextLine();int x=-1;for(int i=0;i<array.size();i++){Person p=array.get(i);if(p.getName().equals(name)){x=1;System.out.println("您要查看的人的姓名是:"+name+"手机号是:"+p.getTp()+"地址是:"+p.getAdress());}}if(x==-1){System.out.println("你要查看的人不存在");}}//按照手机号查询public static void demandNumber() throws IOException{ArrayList<Person> array=new ArrayList<Person>();readData(array);Scanner sc= new Scanner(System.in);System.out.println("请输入你要查看的的人的手机号:");String tp=sc.nextLine();int x=-1;for(int i=0;i<array.size();i++){Person p=array.get(i);if(tp.equals(p.getTp())){x=1;System.out.println("您要查看的人的姓名是:"+p.getName()+"手机号是:"+p.getTp()+"地址是:"+p.getAdress());}}if(x==-1){System.out.println("你要查看的人不存在");}}//修改public static void modification()throws IOException{ArrayList <Person> array=new ArrayList<Person>();readData(array);Scanner sc=new Scanner(System.in);System.out.println("请输入你要修改的人的名字");String name=sc.nextLine();String tp = null;String adress=null;int x=-1;for(int i=0;i<array.size();i++){Person p=array.get(i);if(p.getName().equals(name)){tp=p.getTp();adress=p.getAdress();x=i;break;}}if(x==-1){System.out.println("你输入的名字不存在");}else{Person p=new Person();System.out.println("请问您是要修改名字(1)还是修改手机号(2)还是修改地址(3)或者全部修改(4)");int y=sc.nextInt();if(y==1){Scanner sc1=new Scanner(System.in);System.out.println("请输入名字:");String name1=sc1.nextLine();int h=-1;for(int i=0;i<array.size();i++){Person p2=array.get(i);if(p2.getName().equals(name1)){h=-2;break;}}if(h==-2){System.out.println("这个名字已经存在");}else{p.setName(name1);p.setTp(tp);p.setAdress(adress);array.set(x, p);writeData(array);System.out.println("修改成功");}}               if(y==2){Scanner sc1=new Scanner(System.in);System.out.println("请输入手机号");String tp1=sc1.nextLine();p.setName(name);p.setAdress(adress);p.setTp(tp1);array.set(x, p);writeData(array);System.out.println("修改成功");}if(y==3){Scanner sc1=new Scanner(System.in);System.out.println("请输入地址");String address1=sc1.nextLine();p.setName(name);p.setAdress(address1);p.setTp(tp);array.set(x, p);writeData(array);System.out.println("修改成功");}if(y==4){//全部都改Scanner sc1=new Scanner(System.in);System.out.println("请输入名字");String name1=sc1.nextLine();int h=-1;for(int i=0;i<array.size();i++){Person p2=array.get(i);if(p2.getName().equals(name1)){h=-2;break;}}if(h==-2){System.out.println("这个名字已经存在");}else{System.out.println("请输入手机号");String tp1=sc1.nextLine();System.out.println("请输入地址");String address1=sc1.nextLine();p.setName(name1);p.setTp(tp1);p.setAdress(address1);array.set(x, p);writeData(array);System.out.println("修改成功");}}}}//按照字母顺序全部显示public static void display()throws IOException{ArrayList<Person> array=new ArrayList<Person>();readData(array);System.out.println("姓名     手机号     地址");for(int x=0;x<array.size();x++){for(int j=0;j<(array.size()-x-1);j++){Person p1=array.get(j);Person p2=array.get(j+1);String name1=p1.getName();String name2=p2.getName();if(name1.compareTo(name2)>0){p1.setName(name2);p2.setName(name1);}}}writeData(array);ArrayList<Person> array1=new ArrayList<Person>();readData(array1);for(int i=0;i<array1.size();i++){Person p=array1.get(i); System.out.println(p.getName()+" "+" "+" "+" "+" "+" "+" "+p.getTp()+" "+" "+" "+" "+" "+" "+p.getAdress());}}public static void exit()throws IOException{System.out.println("谢谢使用");System.exit(0);}}

PersonBook.java

public class Person {//手机号private String tp;private String name;private String adress;public Person(){}public Person(String name,String tp,String adress){this.tp=tp;this.name=name;this.adress=adress;}public String getTp() {return tp;}public void setTp(String tp) {this.tp = tp;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void setAdress(String adress){this.adress=adress;}public String getAdress(){return adress;}
}

手机通讯录(纯java)相关推荐

  1. 纯java手机通讯录

    要求 1.查看全部通讯录的信息 2.实现新增人员功能 3.修改用户信息功能 4.删除数据功能 5.查找人员功能实现 IOperatorMobile.java package com.geminno.m ...

  2. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api.   Zxing是Google提供的关于条码 ...

  3. Java:任务描述:手机通讯录的实现

    任务描述:手机通讯录的实现 设计并实现手机通讯录,主要功能包括:联系人信息录入.联系人信息查询与统计.联系人信息修改和删除.备份与恢复,支持可视化界面. 本题要求完成以下内容: 1. 请按面向对象 ...

  4. Java手机通讯录并实现自动发送QQ消息及单人视频聊天窗口

    目录 Java手机通讯录并实现自动发送QQ消息及单人视频聊天窗口 1. 原始问题描述 2. 实现效果​             ​            ​              ​ 3.部分源码 ...

  5. java手机通讯录格式转换_通讯录格式转换器设计与开发(JAVA平台)

    通讯录格式转换器设计与开发(平台)(任务书,开题报告,文献综述,中期检查表,外文翻译,毕业论文17000字,程序代码) 本文从当前社会人们需求出发,首先介绍了人们在处理手机信息和网络信息交互时的极大不 ...

  6. JAVA趣味课程:手机通讯录管理系统

    本篇博客的内容在之前python基础系列案例中有详细讲解,此次我将使用JAVA语言对手机通讯录管理系统进行重新编写.此案例适用于熟练掌握面向对象基础和List集合的基本操作. 需求分析: 能够循环接收 ...

  7. JAVA趣味课程:手机通讯录管理系统(连接数据库管理信息)

    今天课堂上正好讲到JAVA连接jdbc管理sqlite数据库的操作,讲完他的基本用法之后,就又把之前的手机通讯录管理系统掏出来,改装完成数据库版本的增删改查等存取工作.那么下面开始需求分析以及逻辑编码 ...

  8. 二维码相关---java生成二维码名片,而且自己主动保存到手机通讯录中...

    版权声明:本文为博主原创文章,未经博主credreamer 同意不得转载 违者追究法律责任. https://blog.csdn.net/lidew521/article/details/244418 ...

  9. java手机通讯录格式转换_xml转换成vcf 魅族手机通讯录Contact.xml备份在flyme上的恢复(Java/C#实现xml转vCard)...

    xml转换成vcf 魅族手机通讯录Contact.xml备份在flyme上的恢复(Java/C#实现xml转vCard) 分类:杂谈| 发布:佚名| 查看: | 发表时间:2014/6/10 由上一篇 ...

  10. java获取手机通讯录权限_Android读取手机通讯录联系人到自己项目

    本文实例为大家分享了Android读取手机通讯录联系人到项目的具体代码,供大家参考,具体内容如下 一.主界面代码如下: android:layout_width="match_parent& ...

最新文章

  1. 防止js全局变量污染方法总结-待续
  2. tomcat架构分析 (connector NIO 实现)【转】
  3. VTK修炼之道58:图形基本操作进阶_点云配准技术(迭代最近点ICP算法)
  4. java web过滤器
  5. A6.2021年全国数学建模竞赛C题分析-生产企业原材料的订购与运输
  6. 单词的长度(信息学奥赛一本通-T1142)
  7. python中执行shell脚本之subprocess模块_如何使用Python中的subprocess模块检查shell脚本的状态?...
  8. Vuepress2.X从0-1保姆级入门教程
  9. 集群分布式存储-MFS
  10. 推荐系统遇上深度学习(十二)--推荐系统中的EE问题及基本Bandit算法
  11. Flutter之常用组件的使用举例(中)
  12. 使用蒙特卡罗法解决道填图题目
  13. win10专业版电脑不能局域网访问win10家庭版
  14. pytorch 中的topk函数
  15. 浪潮也要玩OpenStack,元芳你怎么看?
  16. flashback table 闪回表到指定时间或SCN
  17. java图形界面UI设计——简单的计算器
  18. 天气预报查询数据接口、实时天气、24小时天气、未来24小时、7天/15天预报
  19. sql语句实现行转列的3种方法
  20. Python爬虫之Js逆向案例(6)-某道翻译

热门文章

  1. onecloud的一次刷机自我小总结
  2. 计算机网络一些相互连接,计算机网络试题全集完整版
  3. IDEA碰到 非法的表达式开始 解决办法
  4. 百度文字转语音免费接口使用实例
  5. 移动端input、textarea、div(contenteditable )输入框正则过滤(兼容ios)
  6. iterm通过代理访问网络
  7. 自己动手做AI:Google AIY开发工具包解析
  8. 1.腾讯轻服务器K3S环境配置
  9. 《知行合一王阳明》读书笔记
  10. ges resource dynamic和ges enqueues占用较高导致实例终止问题处理