纯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 ...
随机推荐
- Web安全攻防(简)学习笔记
Web安全攻防-学习笔记 本文属于一种总结性的学习笔记,内容许多都早先发布独立的文章,可以通过分类标签进行查看 信息收集 信息收集是渗透测试全过程的第一步,针对渗透目标进行最大程度的信息收集,遵随&q ...
- python基础 Day7
python Day7 基础数据类型的补充 str的数据类型补充 capitalize函数将首字母大写,其余变小写 s1="taibei" print(s1.capitalize( ...
- Mybatis_day3
三 使用XML配置SQL映射器(映射文件) 关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,[MyBatis鼓励]开发者可以直接[使用数据库],而 ...
- 第1章 RDD概念 弹性分布式数据集
第1章 RDD概念 弹性分布式数据集 1.1 RDD为什么会产生 RDD是Spark的基石,是实现Spark数据处理的核心抽象.那么RDD为什么会产生呢? Hadoop的MapReduce是一种基于 ...
- linux 使用 FIO 测试磁盘的iops
原文链接:https://www.iteye.com/blog/elf8848-2168876 一,FIO安装wget http://brick.kernel.dk/snaps/fio-2.2.5.t ...
- virt-install 安装系统和启动虚机
安装系统: virt-install -n x1 -r --vcpus --disk path=/home/wangjq/x1.qcow2,size=,format=qcow2,bus=virtio, ...
- ping通网关 ping不通dns
一.Request Timed Out 当Ping指定的对象时,出现“Request Timed Out”提示信息的频率非常高,这说明对方无法接受发送过来的数据.当然这种情况下,很可能就是网络出现了故 ...
- Java动态代理(二)——jdk动态代理
一.什么是动态代理?代理类在程序运行时创建的代理方式被成为动态代理.动态代理的代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的.相比于静态代理, 动态代理的 ...
- Hadoop 3.x 与Hadoop 2.x 的区别和优化点
Hadoop 3.x 与Hadoop 2.x 的区别和优化点 通用性 1.精简Hadoop内核,包括剔除过期的API和实现,将默认组件实现替换成最高效的实现(比如将FileOutputCommitte ...
- C# 自定义无边框窗体阴影效果
工作中我们会经常遇到自定义一些窗口的样式,设置无边框然后自定义关闭.最大化等其他菜单,但是这样就失去了Winform自带的边框阴影效果,下面这个方法能让无边框增加阴影效果.代码如下: using Sy ...