实现电话本的增删改查(存于对象数组)。
来个运行后的效果:

下面就是实现的代码(如有不对欢迎指正 O(∩_∩)O)

package jingshenxiaohuo.com.test;import java.util.Scanner;/*** @program: testApplication* @description:* @author: xiaoming* @version: V1**/
public class PhoneNumberTest {//控制台输入Scanner sc = new Scanner(System.in);//ConnecInfo为内部类,定义在代码最下方//存储联系信息等内容ConnectInfo[] connectInfos = new ConnectInfo[10];//空构造函数,可省略public PhoneNumberTest() {}//操作入口public void BeginOpt() {System.out.println("----------电话本管理系统----------");System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");System.out.println("----------电话本管理系统----------\n 请选择操作:");String a = sc.next();//如果a处编译时报错,注意JDK使用1.7以上switch (a) {case "1":add();break;case "2":delete();break;case "3":update();break;case "4":selectAll();break;case "5":selectByName();break;case "0":exit();break;default:System.out.println("输入指令错误!请重新输入!");BeginOpt();break;}}public void add() {ConnectInfo b = new ConnectInfo();System.out.println("------添加电话本------");System.out.println("请输入相关信息:");System.out.print("姓名:");String name = sc.next();b.setName(name);System.out.print("性别:");String sex = sc.next();b.setSex(sex);System.out.print("年龄:");int age = sc.nextInt();b.setAge(age);System.out.print("电话:");String dianhua = sc.next();b.setPhoneNumber(dianhua);System.out.print("QQ:");String qq = sc.next();b.setQQ(qq);System.out.print("地址:");String dizhi = sc.next();b.setDizhi(dizhi);for (int i = 0; i < 10; i++) {if (connectInfos[i] == null) {connectInfos[i] = b;break;} else {continue;}}System.out.println("添加成功");System.out.println(b.toString());BeginOpt();}public void delete() {System.out.println("------删除电话本------");System.out.println("请输入你要删除的电话本:");String s = sc.next();for (int i = 0; i < 10; i++) {if (connectInfos[i] != null) {if (connectInfos[i].getName().equals(s)) {System.out.println("你要删除的是:" + connectInfos[i].toString());System.out.println("你确定要删除吗?\n [Y]确定,[N]取消");String s2 = sc.next();if (s2.equals("y")) {connectInfos[i] = null;System.out.println("删除成功!");BeginOpt();} else if (sc.next().equals("n")) {BeginOpt();} else {System.out.println("输入指令不正确,请重新输入!");delete();}} else {if (i != 9) {continue;} else {System.out.println("你输入的账号不存在!请重新输入!");delete();}}}else {if (i != 9) {continue;} else {System.out.println("你输入的账号不存在!请重新输入!");delete();}}}}public void update() {System.out.println("--------------修改电话本-------------");System.out.println("请输入你要修改的账号:");String s = sc.next();out: for (int i = 0; i < 10; i++) {if (connectInfos[i] != null) {if (connectInfos[i].getName().equals(s)) {System.out.println("你要修改的是:" + connectInfos[i].toString());System.out.println("请重新输入相关信息:");System.out.print("姓名:");String name = sc.next();connectInfos[i].setName(name);System.out.print("性别:");String sex = sc.next();connectInfos[i].setSex(sex);System.out.print("年龄:");int age = sc.nextInt();connectInfos[i].setAge(age);System.out.print("电话:");String dianhua = sc.next();connectInfos[i].setPhoneNumber(dianhua);System.out.print("QQ:");String qq = sc.next();connectInfos[i].setQQ(qq);System.out.print("地址:");String dizhi = sc.next();connectInfos[i].setDizhi(dizhi);System.out.print("修改成功!");System.out.println("修改后为:" + connectInfos[i].toString());BeginOpt();} else {if (i != 9) {continue out;} else {System.out.println("你输入的账号不存在!请重新输入!");update();}}} else {if (i != 9) {continue out;} else {System.out.println("你输入的账号不存在!请重新输入!");update();}}}}public void selectAll() {System.out.println("--------------所有电话信息---------------");for (int i = 0; i < 10; i++) {if (connectInfos[i] != null) {System.out.println(connectInfos[i].toString());}}BeginOpt();}public void selectByName() {System.out.println("------------------根据名字查询----------------");System.out.println("请输入你要查找的名字:");String s = sc.next();out: for (int i = 0; i < 10; i++) {if (connectInfos[i] != null) {if (connectInfos[i].getName().equals(s)) {System.out.println("查询结果为:" + connectInfos[i].toString());BeginOpt();break;} else {if (i != 9) {continue out;} else {System.out.println("你输入的账号不存在!请重新输入!");selectByName();}}} else {if (i != 9) {continue out;} else {System.out.println("你输入的账号不存在!请重新输入!");selectByName();}}}}public void exit() {System.out.println("谢谢使用! \n");System.gc();// 系统回收资源Runtime.getRuntime().runFinalization();// 没起作用;}public void finalize() {System.out.println("已回收资源,成功退出系统");}class ConnectInfo { // 写个内部类private String name;private String sex;private int age;private String phoneNumber;private String QQ;private String dizhi;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 getPhoneNumber() {return phoneNumber;}public void setPhoneNumber(String phoneNumber) {this.phoneNumber = phoneNumber;}public String getQQ() {return QQ;}public void setQQ(String qQ) {QQ = qQ;}public String getDizhi() {return dizhi;}public void setDizhi(String dizhi) {this.dizhi = dizhi;}public String toString() {String s = "姓名:" + name + "性别:" + sex + "年龄:" + age + "电话:" + "QQ:"+ QQ + "地址:" + dizhi;return s;}}public static void main(String[] args) {//新建对象PhoneNumberTest phoneNumberTest = new PhoneNumberTest();//执行对象方法phoneNumberTest.BeginOpt();}}

Java面向对象练习-电话本管理系统相关推荐

  1. 基于java的电话本管理系统

    本程序本人写了三个类分别为PhoneBook.TelephoneItem.Ui TelephoneItem: package com.hpe.test; public class TelephoneI ...

  2. 【自学笔记】简单java电话本管理系统v1.0源码

    我是一个java初学者,所以很多地方都写的很糟,首先谢谢 "唐"给我的练习题,这是完成所有功能后第一时间发的,所以很多该提取的方法和类都没有提取,主要是能够更清晰的看到整个结构,希 ...

  3. 电话本管理系统 基础版

    电话本管理系统 ArrayList版见:https://blog.csdn.net/Amber_technology/article/details/103977752 一.电话本管理系统 1.主界面 ...

  4. java实现简单电话本

    电话本 · 实现功能: · 请输入要选择的功能: 1. 新增一个联系人 2. 查找指定的联系人 3. 查找所有的联系人 4. 退出系统 功能要求: 1.新增一个联系人,联系人的姓名,性别,年龄,手机号 ...

  5. Java电话本管理系统(数组版)

    这是第一次写Java 小项目,得好好记录一番 /** 联系人基本信息*/ public class LinkMan {private String name;private char sex;priv ...

  6. Java面向对象练习题 企业人事管理系统

    题目: 完成一个企业人事管理系统,该系统中包含两个实体类:员工(Emp),部门(Dept),两个类中分别包含以下属性: 员工(工号,姓名,性别,职位,年龄,月薪,部门) 部门(编号,部门名,部门介绍, ...

  7. 电话本管理系统(c++代码)

    浅浅做个笔记 #include <string> #include <iostream> using namespace std; #define MAX 1000 //设计联 ...

  8. java模拟而一个电话本操作

    哈哈,大家平时都在使用电话本,下面使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po;/*** * 电话人的信息* */ public cl ...

  9. java制作电话本,java模拟而一个电话本操作

    哈哈.大家平时都在使用电话本.以下使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public ...

最新文章

  1. 获取二叉树的所有叶子节点、获取全树深度与左右子树深度求解:递归
  2. 【LeetCode-面试算法经典-Java实现】【015-3 Sum(三个数的和)】
  3. 大话文本分类之Fnet
  4. Linux视频选用的版本,Ubuntu 及衍生版本用户安装视频播放器 SMPlayer 14.3.0
  5. C++sort如何使用lambda表达式对一维vector和二维vector进行排序
  6. 武汉大学计算机学院毕业合影,武大校长对毕业合影有求必应
  7. 如何用模型分析中国经济?
  8. atmega8 例程:PWM
  9. 《炉石传说》建筑设计欣赏(7):采用Google.ProtocolBuffers处理网络消息
  10. 【Flink】Flink Recovered containers from previous attempts
  11. [转载] sklearn学习之:(3)决策树回归算法
  12. java 上溯造型与下塑造型
  13. 元素周期表Mac动态桌面壁纸
  14. 批量修改后缀名的方法,批量修改文件后缀名
  15. 计算机七进制乘法,编程达人
  16. mysql笛卡尔积查询很慢_浅谈MySQL使用笛卡尔积原理进行多表查询
  17. Truncate Table用法
  18. 【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
  19. 华为MPLS L2xxx(PWE3)+静动混合多跳PW实验
  20. 骑马与砍杀:风云三国 for Mac(角色扮演游戏)

热门文章

  1. 【计量经济学】时间序列回归的渐进性
  2. 人脸支付技术原理和基本概念介绍
  3. 记录一次Powerjob踩的坑(Failed to deserialize message)
  4. G2. Passable Paths (hard version)
  5. Linux最常用的基础命令
  6. 2023 新年时钟倒计时html源码 修改版
  7. Facebook工程师跳楼,一个走钢丝的互联网中年男人
  8. ubuntu本机 使用 sshfs 临时挂载 远程服务器 硬盘 与 卸载
  9. 爱奇艺万能播放器解决百度网盘限速问题
  10. python pop函数里有数字_python中pop()函数如何使用