纯java代码在控制台运算电话本(不使用数据库)
分享学习
Task_08
package cn.rzpt; import java.util.List;
import java.util.Scanner; public class Task_08 {
private static TelBook telBook = new TelBook();
public static String init() {
System.out.println("----------------------电话本管理系统----------------------");
String operations[] = telBook.getOperations();
for(int i = 0 ; i < operations.length;i++)
{
System.out.print(i+operations[i]+"\t");
}
System.out.println("\n----------------------电话本管理系统----------------------");
System.out.print("请选择业务:");
String input = new Scanner(System.in).nextLine();
return input;
}
public static void main(String[] args) {
String input = init();
List<User> users = telBook.getUsers();
//添加
if(input.equals("1"))
{
System.out.println("\n----------------------添加电话本----------------------");
System.out.print("姓名:");
String name = new Scanner(System.in).nextLine();
System.out.print("性别:");
String gender = new Scanner(System.in).nextLine();
System.out.print("年龄:");
String age = new Scanner(System.in).nextLine();
System.out.print("电话:");
String tel = new Scanner(System.in).nextLine();
System.out.print("QQ:");
String QQ = new Scanner(System.in).nextLine();
System.out.print("地址:");
String address = new Scanner(System.in).nextLine();
User user = new User(name,gender.equals("男"),Integer.parseInt(age),tel,QQ,address);
users.add(user);
System.out.println(user);
System.out.println("添加成功");
main(args);
} if(input.equals("2"))
{
System.out.println("\n----------------------删除电话本----------------------");
System.out.print("请输入删除的姓名:");
String name = new Scanner(System.in).nextLine();
if(users.indexOf(new User(name)) == -1)
{
System.out.println("此人不存在");
}
else
{
User user = users.get(users.indexOf(new User(name)));
System.out.println(user);
System.out.println("确定吗?1(是)0(否)");
String select = new Scanner(System.in).nextLine();
if(select.equals("1"))
{
users.remove(user);
System.out.println("删除成功");
}
if(select.equals("0"))
{
System.out.println("取消成功");
}
}
main(args);
} if(input.equals("3"))
{
System.out.println("\n----------------------修改电话本----------------------");
System.out.print("输入姓名");
String name = new Scanner(System.in).nextLine();
if(users.indexOf(new User(name)) == -1)
{
System.out.println("此人不存在");
}
else
{
User user = users.get(users.indexOf(new User(name)));
System.out.println(user);
System.out.println("请输入信息");
System.out.println("姓名:"+user.getName());
System.out.print("性别:");
String gender = new Scanner(System.in).nextLine();
System.out.print("年龄:");
String age = new Scanner(System.in).nextLine();
System.out.print("电话:");
String tel = new Scanner(System.in).nextLine();
System.out.print("QQ:");
String QQ = new Scanner(System.in).nextLine();
System.out.print("地址:");
String address = new Scanner(System.in).nextLine();
user = new User(name,gender.equals("男"),Integer.parseInt(age),tel,QQ,address);
users.add(user);
System.out.println(user);
System.out.println("修改成功");
}
main(args);
}
if(input.equals("4"))
{
System.out.println("\n----------------------打印所有电话本----------------------");
for (User user : users) {
System.out.println(user);
}
main(args);
} if(input.equals("5"))
{
System.out.println("\n----------------------查找电话本----------------------");
System.out.print("输入姓名");
String name = new Scanner(System.in).nextLine();
if(users.indexOf(new User(name)) == -1)
{
System.out.println("此人不存在");
}
else
{
User user = users.get(users.indexOf(new User(name)));
System.out.println(user);
}
main(args);
}
if(input.equals("0"))
{
System.out.println("退出成功");
System.exit(0);
}
} }
TelBook
package cn.rzpt; import java.util.ArrayList;
import java.util.List; public class TelBook {
private final static String operations[] = {".退出",".添加",".删除",".修改",".查询所有",".根据姓名查询"};
private List<User> users = new ArrayList<User>();
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public static String[] getOperations() {
return operations;
} }
User
package cn.rzpt;
public class User{
private String name;
private boolean gender;
private int age;
private String tel;
private String QQ;
private String address;
public User(String name) {this.name = name;}
public User(String name, boolean gender, int age, String tel, String qQ, String address) {
super();
this.name = name;
this.gender = gender;
this.age = age;
this.tel = tel;
QQ = qQ;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getQQ() {
return QQ;
}
public void setQQ(String qQ) {
QQ = qQ;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "姓名:" + name + ", 性别:" + (gender?"男":"女") + ", 年龄:" + age + ", 电话:" + tel + ", QQ:" + QQ
+ ", 地址:" + address;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}

纯java代码在控制台运算电话本(不使用数据库)的更多相关文章
- 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...
- Android 使用纯Java代码布局
java布局 java代码布局和xml布局的区别 1.Java纯布局更加的灵活,比如自定义控件或一些特殊要求时,使用java代码布局 2.常用的xml布局是所见即所得的编写方式,以及xml本身拥有一些 ...
- DataX通过纯Java代码启动
DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在 ...
- 帧动画的创建方式 - 纯Java代码方式
废话不多说,先看东西 帧动画的创建方式主要以下2种: * 用xml创建动画: * 纯Java代码创建动画: 本文内容主要关注 纯java代码创建帧动画 的方式: 用xml创建帧动画:http:// ...
- 在Android中用纯Java代码布局
感谢大佬:https://www.jianshu.com/p/7aedea560f16 在Android中用纯Java代码布局 本文的完成了参考了一篇国外的教程,在此表示感谢. Android中的界面 ...
- 用java中的Arraylist实现电话本系统管理
大致思路:创建一个电话本条目的类,在主类中实例化.用实例化的对象调用构造参数接收输入值,然后将此对象存入Arraylist的对象中,实现动态添加电话本条目. 该系统具备添加.删除.修改.查询所有和按姓 ...
- Android Studio编写运行测试纯java代码可带main()函数
问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...
- 纯Java代码 图片压缩
Java图片压缩代码 package com.img; import java.awt.Image; import java.awt.image.BufferedImage; import java. ...
- 通过纯Java代码从excle中读取数据(为.xlsx文件)
参考链接: 程序代码: package demo; import java.io.File; import java.io.IOException; import java.io.InputStrea ...
随机推荐
- python 常用函数集合
1.常用函数 round() : 四舍五入 参数1:要处理的小数 参数2:可选,如果不加,就是不要小数,如果加,就是保留几位小数 abs() :绝对值 ...
- java Semaphore实现ABC三个线程循环打印
Semaphore位于java.util.concurrent包下.其中有两个重要的方法acquire()和release().acquire用来获取一个信号量,并且是阻塞型的,如果当前还有可用的信号 ...
- JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
String str = "i.like.cat"; System.out.println(str.replace(".", "!")); ...
- 3.配置及其名ip映射
sudo vi /etc/hosts 192.168.117.50 master192.168.117.60 slave1192.168.117.70 slave2192.168.117.80 sla ...
- SpringBoot--- Shiro(拦截,认证)、Thymeleaf(模板引擎)
SpringBoot--- Shiro(拦截,认证).Thymeleaf(模板引擎) 环境 IDEA :2020.1 SpringBoot: 2.3.3 Java : 8 版本依赖: shiro- ...
- mycli工具mysql命令自动补全
简介 MyCli 是一个 MySQL 的命令行客户端,可以实现自动补全和语法高亮.MyCli 也可用于 MariaDB 和Percona. 项目地址:http://mycli.net/ 安装 pip安 ...
- Shell编程—控制脚本
1处理信号 1.1信号表 编号 信号名称 缺省操作 解释 1 SIGHUP Terminate 挂起控制终端或进程 2 SIGINT Terminate 来自键盘的中断 3 SIGQUIT Dump ...
- Java高级特性——反射机制(第一篇)
——何为动态语言,何为静态语言?(学习反射知识前,需要了解动态语言和静态语言) 动态语言 >是一类在运行时可以改变其结构的语言,例如新的函数.对象.甚至是代码可以被引进,已有的函数可以被删除或者 ...
- e3mall商城的归纳总结4之图片服务器以及文本编辑器
一.图片服务器 --1.认识图片服务器 大家可能都知道在分布式架构中使用图片上传可能会导致文件存放在某一个项目,而我们的项目基本上都采用集群的方式 ,因此这样会导致图片的问题比较难以存放,在这里我们有 ...
- elementui table fixed错位
目前在官方没有解决这个bug前如果有人碰到类似问题.建议大家监听table数据,每次数据得到或改变的时候去重新渲染一下 /* 监听table数据对象 */ watch: { tableDa ...