这篇文章主要为大家详细介绍了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;
}
}
}
}
}
运行截图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:java实现电话本系统
基础教程推荐
猜你喜欢
- java实现多人聊天系统 2023-05-19
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java实现线程插队的示例代码 2022-09-03
- Java实现查找文件和替换文件内容 2023-04-06
- java基础知识之FileInputStream流的使用 2023-08-11
- Java并发编程进阶之线程控制篇 2023-03-07
- Java数据结构之对象比较详解 2023-03-07
- springboot自定义starter方法及注解实例 2023-03-31
- Java文件管理操作的知识点整理 2023-05-19