纯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 ...
随机推荐
- 在 Go 语言中,我为什么使用接口
强调一下是我个人的见解以及接口在 Go 语言中的意义. 如果您写代码已经有了一段时间,我可能不需要过多解释接口所带来的好处,但是在深入探讨 Go 语言中的接口前,我想花一两分钟先来简单介绍一下接口. ...
- 细讲前端设置cookie, 储存用户登录信息
细讲前端设置cookie 引言 正文 一.设置cookie 二.查看cookie 三.删除cookie 四.封装cookie操作 结束语 引言 我们都知道如果想做一个用户登录并使浏览器保存其登录信息, ...
- bluetoothctl命令提示No default controller available
在学习bluetoothctl命令时,执行bluetoothctl,然后执行show,提示No default controller available. 1. 执行hciconfig,发现有hci0 ...
- Jmeter 常用函数(4)- 详解 __setProperty
如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 前言 有看我之前写的 Jmeter 文章的童 ...
- C++ IO的一些注意点
读入这个坑一直以来都深受其麻烦,把遇到一些注意点记一下吧. 1.getchar读入 以前练线段树的时候做到Acwing#246 Interval GCD(原题在CodeHunter上,人懒就在Acwi ...
- linux系统学习
一.linux系统如何配置环境变量 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件 ...
- JacaScript实现call apply bind函数
一.call函数 模拟实现第一步:整体思路 Function.prototype.call2=function(context){ context.fn=this; //1.将函数(谁调用 即this ...
- react项目初始化配置
## [初始化项目](https://facebook.github.io/create-react-app/)) + 安装 ``` npx create-react-app myreact ``` ...
- React状态管理相关
关于React状态管理的一些想法 我最开始使用React的时候,那个时候版本还比较低(16版本以前),所以状态管理都是靠React自身API去进行管理,但当时最大的问题就是跨组件通信以及状态同步和状态 ...
- GreateMan_开源
oschina: https://www.oschina.net/ Tencent: https://github.com/Tencent 360: https://github.com/Qihoo3 ...