手机通讯录(纯java)

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;
    }
}

 

  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值