java实现电话本系统
作者:JAVA_NO.1 发布时间:2021-06-05 20:39:39
标签: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;
}
}
}
}
}
运行截图:
来源:https://blog.csdn.net/qq_45399396/article/details/119255402
0
投稿
猜你喜欢
- mybatis Integer类型参数动态sql注意条件例如以下拼接的动态sql<if test="work_status
- 学习Java 本身是一个挺枯燥的过程,说白了就是每天敲代码而已。但如果换一种思路,可以编写各种各样的程序,不仅加深对代码的理解,同时提高兴趣
- checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的;如果使用了checked发生数学运算溢出时会抛出Overf
- 第一种,在配置文件配置在application.xml直接配置,这种方式是全局配置,所有返回给前端对象的属性为null或"&quo
- Jedis简介实际开发中,我们需要用Redis的连接工具连接Redis然后操作Redis,对于主流语言,Redis都提供了对应的客户端;提供
- java 使用DecimalFormat进行数字的格式化实例详解简单实例://获取DecimalFormat的方法DecimalFormat
- 概念所谓回文串,就是字符串反转以后和原串相同,如 abba 和 lippil。对于回文串还是比较容易去验证的,从字符数组的两端开始向中间靠拢
- Intellij IDEA 配置Subversion插件实现步骤详解在使用Intellij的过程中,突然发现svn不起效了,在VCS–》Ch
- 前言本文详细介绍如何使用spring-boot2.x快速整合log4j2日志框架。spring-boot2.x使用logback作为默认日志
- 一、创建地形1、GameObject ->3D Object-> Terrain,创建带有地形属性的平面2、Terrain-〉最
- 今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:my
- 这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用。下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获
- Unity Shader学习:水墨效果偶然在网上看到9级铁甲蛹大神的水墨风格后处理觉得挺有意思,参照着实现一下,还是涉及到之前油画效果的算法
- 题目:求100之内的素数方法一:package airthmatic;public class demo8 { /** * 素数是指因数只有
- idea中ssm框架的编码问题介绍在idea中编码问题分为几个部分:1 tomcat服务器编码2 页面编码3 控制台编码4 操作系统编码在实
- 一、问题来源项目中遇到 json 模型映射成 RadialGradient 组件的需求,其他参数正常传递即可;唯独 radius 参数效果有
- ssm mybatis配置多个mapper目录通配符配置比如目录的结构如下:com/test/web/user/mappercom/test
- 一元运算符,也叫单项算符,一目运算符,一元算符 ,英文名字:UnaryOperator。描述:接受一个参数为类型T,返回值类型也为T。源码:
- 软硬件环境Macbook Pro MGX 72Android studio 2.1.2Android 5.1.1前言上一篇介绍了如何获取et
- 1、首先创建一个测试实体类Person,并携带如上注解,其注解的作用描述在messagepackage com.clickpaas.pojo