Java面向对象练习-电话本管理系统
实现电话本的增删改查(存于对象数组)。
来个运行后的效果:
下面就是实现的代码(如有不对欢迎指正 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面向对象练习-电话本管理系统相关推荐
- 基于java的电话本管理系统
本程序本人写了三个类分别为PhoneBook.TelephoneItem.Ui TelephoneItem: package com.hpe.test; public class TelephoneI ...
- 【自学笔记】简单java电话本管理系统v1.0源码
我是一个java初学者,所以很多地方都写的很糟,首先谢谢 "唐"给我的练习题,这是完成所有功能后第一时间发的,所以很多该提取的方法和类都没有提取,主要是能够更清晰的看到整个结构,希 ...
- 电话本管理系统 基础版
电话本管理系统 ArrayList版见:https://blog.csdn.net/Amber_technology/article/details/103977752 一.电话本管理系统 1.主界面 ...
- java实现简单电话本
电话本 · 实现功能: · 请输入要选择的功能: 1. 新增一个联系人 2. 查找指定的联系人 3. 查找所有的联系人 4. 退出系统 功能要求: 1.新增一个联系人,联系人的姓名,性别,年龄,手机号 ...
- Java电话本管理系统(数组版)
这是第一次写Java 小项目,得好好记录一番 /** 联系人基本信息*/ public class LinkMan {private String name;private char sex;priv ...
- Java面向对象练习题 企业人事管理系统
题目: 完成一个企业人事管理系统,该系统中包含两个实体类:员工(Emp),部门(Dept),两个类中分别包含以下属性: 员工(工号,姓名,性别,职位,年龄,月薪,部门) 部门(编号,部门名,部门介绍, ...
- 电话本管理系统(c++代码)
浅浅做个笔记 #include <string> #include <iostream> using namespace std; #define MAX 1000 //设计联 ...
- java模拟而一个电话本操作
哈哈,大家平时都在使用电话本,下面使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po;/*** * 电话人的信息* */ public cl ...
- java制作电话本,java模拟而一个电话本操作
哈哈.大家平时都在使用电话本.以下使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public ...
最新文章
- 获取二叉树的所有叶子节点、获取全树深度与左右子树深度求解:递归
- 【LeetCode-面试算法经典-Java实现】【015-3 Sum(三个数的和)】
- 大话文本分类之Fnet
- Linux视频选用的版本,Ubuntu 及衍生版本用户安装视频播放器 SMPlayer 14.3.0
- C++sort如何使用lambda表达式对一维vector和二维vector进行排序
- 武汉大学计算机学院毕业合影,武大校长对毕业合影有求必应
- 如何用模型分析中国经济?
- atmega8 例程:PWM
- 《炉石传说》建筑设计欣赏(7):采用Google.ProtocolBuffers处理网络消息
- 【Flink】Flink Recovered containers from previous attempts
- [转载] sklearn学习之:(3)决策树回归算法
- java 上溯造型与下塑造型
- 元素周期表Mac动态桌面壁纸
- 批量修改后缀名的方法,批量修改文件后缀名
- 计算机七进制乘法,编程达人
- mysql笛卡尔积查询很慢_浅谈MySQL使用笛卡尔积原理进行多表查询
- Truncate Table用法
- 【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
- 华为MPLS L2xxx(PWE3)+静动混合多跳PW实验
- 骑马与砍杀:风云三国 for Mac(角色扮演游戏)
热门文章
- 【计量经济学】时间序列回归的渐进性
- 人脸支付技术原理和基本概念介绍
- 记录一次Powerjob踩的坑(Failed to deserialize message)
- G2. Passable Paths (hard version)
- Linux最常用的基础命令
- 2023 新年时钟倒计时html源码 修改版
- Facebook工程师跳楼,一个走钢丝的互联网中年男人
- ubuntu本机 使用 sshfs 临时挂载 远程服务器 硬盘 与 卸载
- 爱奇艺万能播放器解决百度网盘限速问题
- python pop函数里有数字_python中pop()函数如何使用