DOS电话本(数组的练习)

这里写图片描述

/**
*电话本
*   · 实现功能:
*       · 请输入要选择的功能:
*           1. 新增一个联系人
*           2. 查找指定的联系人
*           3. 查找所有的联系人
*           4. 退出系统
*           
*      功能要求:
*               1、新增一个联系人,联系人的姓名,性别,年龄,手机号,身份证号由用户从控制台录入
*               2、按照姓名查找符合条件的所有的联系人(有可能有联系人同名情况,如果同名,全部列出)
*               3、查询所有的联系人
*               4、该电话本只能存最多10个联系人
*               
*       涉及类:
*               电话本
*               联系人
*2017/3/4
*/
import java.util.Scanner;
class PhoneBook 
{
    public static void main(String[] args) 
    {
        System.out.println("\t\t\t******电话本********");
        System.out.println("\t\t\t请输入要选择的功能:");
        System.out.println("\t\t\t1.新增一个联系人"    );
        System.out.println("\t\t\t2.查找指定的联系人"  );
        System.out.println("\t\t\t3.查找所有的联系人"  );
        System.out.println("\t\t\t4.退出系统"          );
        System.out.println("\t\t\t\t版本:v1.0      "    );
        System.out.println("\t\t\t********************");
        int flag=0;                                                            //定义一个flag量来记录录入的条数
        Contacts[] contacts=new Contacts[10];                                  //创建Contacts类的数组,大小为10
        Scanner s=new Scanner(System.in);
        System.out.print("请输入您要选择的功能(1~4):");
        int i=s.nextInt();
        while(i<4){                                                            //等于4则结束程序
        switch(i){
            case 1:{                                                           //增加功能
                if(flag<10){
                Contacts contact=new Contacts();
                contact.Input();
                contacts[flag]=contact;
                flag++;
                }else{
                    System.out.println("输入以达到上限");
                }
            }break;
            case 2:{                                                            //查找功能
                System.out.print("请输入姓名:");
                String n=s.next();
                System.out.println("姓名\t性别\t年龄\t电话号码\t\t身份证号");
                int flag2=0;
                for(int j=0;j<flag;j++){
                if(contacts[j].name.equals(n)){
                    contacts[j].Output();
                    flag2 ++;
                }
                }
                if(flag2 ==0){                                                  //显示已经录入的数据
                    System.out.println("找不到您要的联系人");
                }
            }break;
            case 3:{
                for(int j=0;j<flag;j++){
                    System.out.println("姓名\t性别\t年龄\t电话号码\t\t身份证号");
                    contacts[j].Output();
                }
            }break;
            default:{                                                            //错误数据冗余
                System.out.println("请输入正确的数");

            }

        }
        System.out.println("\t请输入要选择的功能:");
        System.out.println("\t\t1.新增一个联系人"    );
        System.out.println("\t\t2.查找指定的联系人"  );
        System.out.println("\t\t3.查找所有的联系人"  );
        System.out.println("\t\t4.退出系统"          );
        System.out.print("请输入下一步要执行的操作对应的序号(1~4):");            //选择下一步操作
        i=s.nextInt();
        }
    }
}
//Contacts 类
class Contacts
{

    String name;
    String gender;
    int age;
    String phone_number;
    String IDCard_number;

    public void Input(){                                                          //通过录入的方式给相应对象赋值
        Scanner s=new Scanner(System.in);
        System.out.print("请输入姓名:");
        name=s.next();
        System.out.print("请输入性别:");
        gender=s.next();
        System.out.print("请输入年龄:");
        age=s.nextInt();
        System.out.print("请输入电话号码:");
        phone_number=s.next();
        System.out.print("请输入身份证号:");
        IDCard_number=s.next();
    }
    public void Output(){                                                           //输出数据
        System.out.println(name+"\t"+gender+"\t"+age+"\t"+phone_number+"\t\t"+IDCard_number);
    }
}
/*********************************************************END***********************************************/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值