java實現電話本系統
本文實例為大傢分享瞭java模擬實現電話本系統的具體代碼,供大傢參考,具體內容如下
java 模擬 電話本系統 (基礎版)
需求:註意的是,聯系人的id是自增長的
實現的功能:
java綜合編程練習:基本的增刪改查,對於邏輯數據的過濾,這塊做瞭簡單的處理,暫不優化
ContactPerson.java
package com.demo4; /**1、新增一個聯系人,聯系人的編號從1開始自動增長,姓名,性別,年齡,手機號, 身份證號由用戶從控制臺錄入*/ public class ContactPerson { /*這裡用靜態標識,di為自增長*/ private static int count=0; private int id; private String name; private String sex; private int age; private String phoneNo; private String IdCard; public ContactPerson(){} public ContactPerson(String name, String sex, int age, String phoneNo, String idCard) { this.name = name; this.sex = sex; this.age = age; this.phoneNo = phoneNo; IdCard = idCard; /*靜態id為自增長*/ this.id = ++count; } public int getId() { return id; } 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 getPhoneNo() { return phoneNo; } public void setPhoneNo(String phoneNo) { this.phoneNo = phoneNo; } public String getIdCard() { return IdCard; } public void setIdCard(String idCard) { IdCard = idCard; } public static int getCount() { return count; } public void show() { System.out.println( "【 編號 =" + id + " 姓名=" + name + ", 性別=" + sex + ", 年齡=" + age + ", 電話號碼=" + phoneNo + ", 證件號=" + IdCard +" 】" ); } }
PhoneBook.java
package com.demo4; import java.util.Arrays; public class PhoneBook { private ContactPerson[] contactPersons ; private int size; public PhoneBook(){ contactPersons= new ContactPerson[20]; size=0; } //1. 新增一個聯系人 public void addContPerson(String name,String sex,int age, String phoneNo, String IdCard){ ContactPerson person = new ContactPerson(name,sex,age,phoneNo,IdCard); contactPersons[size++]= person; System.out.println("添加成功"); } // 2.查找指定的聯系人 public ContactPerson[] findByName(String name){ ContactPerson[] newContPersons = new ContactPerson[size]; int length=0; int i; for(i=0; i<size; i++){ if(contactPersons[i].getName().equals(name)){ newContPersons[length++] =contactPersons[i]; } i++; } newContPersons = Arrays.copyOf(newContPersons,length); return newContPersons; } //3.查找所有的聯系人 public void findAll(){ for(int i=0; i<size;i++){ contactPersons[i].show(); } } //4. 修改聯系人信息 public void modfyMesById(int id,String phoneNo){ int i; for(i=0; i<size; i++){ if(contactPersons[i].getId()==id){ contactPersons[i].setPhoneNo(phoneNo); System.out.println("修改成功"); break; } } if(i>=size){ System.out.println("修改有誤"); } } //5.刪除聯系人信息 public void delContPerson(int id) { int i; for(i=0; i<size; i++) { if (contactPersons[i].getId() == id) { break; } } if(i>=size){ System.out.println("刪除有誤"); }else{ for(int j=size-2; j>=i; j++){ contactPersons[j]=contactPersons[j+1]; } size--; System.out.println("刪除成功"); } } }
test.java
package com.demo4; import java.util.Scanner; public class test { public static void main(String[] args) { /* 1. 新增一個聯系人 2.查找指定的聯系人 3.查找所有的聯系人 4. 修改聯系人信息 5.刪除聯系人信息 6.退出系統*/ PhoneBook phoneBook = new PhoneBook(); System.out.println("==================電話本系統==================="); Scanner sc =new Scanner(System.in); prof: while(true) { while (true) { System.out.println("---------------------------------------------------------"); System.out.println("1,【添加聯系人】 2,【查找聯系人】 3,【瀏覽所有】"); System.out.println("4,【修改聯系人】 5,【刪除聯系人】 6,【退出系統】"); System.out.println("----------------------------------------------------------"); System.out.print("選擇操作【標號】:"); if(!sc.hasNextInt()){ sc.next(); System.out.println("輸入有序,【重新】輸入"); continue ; } int num = sc.nextInt(); switch (num) { case 1: System.out.println("進入【添加】操作:"); System.out.println("添加操作"); System.out.print("輸入姓名:");String name =sc.next(); /*這裡對性別做瞭簡單限制,男或者女,其他輸入暫且不做判斷,可以自行優化*/ while(true) { System.out.print("輸入性別:"); String sex = sc.next(); if (!("男".equals(sex) || "女".equals(sex))) { System.out.println("輸入有誤,【重新】輸入"); continue; } System.out.print("輸入年齡: ");Integer age = sc.nextInt(); System.out.print("輸入電話號碼:");String phoneNo = sc.next(); System.out.print("輸入證件號:");String idCard = sc.next(); phoneBook.addContPerson(name,sex,age,phoneNo,idCard); break; } case 2: System.out.println("進入【查詢】操作:"); System.out.print("輸入聯系人【姓名】");String fname = sc.next(); ContactPerson[] contactPeoples=phoneBook.findByName(fname); if(contactPeoples!=null){ for(ContactPerson contactPeople : contactPeoples){ contactPeople.show(); } System.out.println("查詢成功"); }else{ System.out.println("暫無信息"); } break; case 3: System.out.println("進入【瀏覽】操作:"); phoneBook.findAll(); break; case 4: System.out.println("進入【修改】操作:"); System.out.print("輸入修改的【標號】: "); int id =sc.nextInt(); System.out.print("將【手機號】修改成: "); String newphoneNo = sc.next(); phoneBook.modfyMesById(id,newphoneNo); break; case 5: System.out.println("進入【刪除】操作:"); while(true) { System.out.println("輸入要刪除標【標號】:"); /*這裡做一下簡單判斷,輸入整數才可以*/ if (!sc.hasNextInt()) { System.out.println("輸入有誤,【重新】輸入"); sc.next(); continue; } int delid = sc.nextInt(); phoneBook.delContPerson(delid); break; }break; case 6: System.out.println("退出成功"); break prof; } } } } }
運行截圖:
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。