纯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 ...
随机推荐
- dotnet cli
前言 dotnet cli (Command-Line Interface) .net 源代码和二进制文件管理工具.需要安装 .NET Core SDK. 终端执行 dotnet --info 可以打 ...
- 逃离CSDN -慕舲的黑夜-第三期
来时,是朋友推荐查资料,后来看到CSDN的UI,好华丽高大上,也读了CSDN首页推荐的一些文章,加入CSDN. 可是后来随着博客园,蓝奏云,w3c菜鸟教程,等平台的出现,CSDN越来越令人心寒
- Docker-Docker与IPV6
公司计划在2020年前完成IPV6化改造,于是我先行查阅了一些资料了解Docker进行IPv6化的可能性. 预计明年正式开始测试. 方法一.使容器中的服务支持IPv6地址 不为容器中的服务特别分配IP ...
- HTML5实战与剖析之媒体元素
随着HTML5的到来,flash在手机端全部不能得到支持,这就使一项以flash制作的音乐播放和视频播放只能用HTML5中的媒体标签video标签和audio标签来制作了.很恰巧的是,移动端对HTML ...
- 模拟画图题P1185 绘制二叉树
题目链接P1185 绘制二叉树 题意概述 根据规则绘制一棵被删去部分节点的满二叉树.节点用 \(o\) 表示,树枝用/\表示.每一层树枝长度会变化,以满足叶子结点有如下特定: 相邻叶子节点是兄 ...
- 神舟zx6-ct5da装黑苹果Macos 10.15.6记录
可能是一时脑子抽风,突然就想体验一把mac系统.以前就了解过,给非苹果电脑装macos叫黑苹果,emmmmm.好吧,给我的神船也整一个. 看了很多个视频,整理一下装黑苹果过程.本人电脑系统是win10 ...
- Golang | 简介channel常见用法,完成goroutin通信
今天是golang专题的第14篇文章,大家可以点击上方的专辑回顾之前的内容. 今天我们来看看golang当中另一个很重要的概念--信道.我们之前介绍goroutine的时候曾经提过一个问题,当我们启动 ...
- oracle备份之备份测试脚本(冷备、热备、rman)
1.数据库环境 数据库DBID及打开模式SQL> select dbid,open_mode from v$database; DBID OPEN_MODE---------- -------- ...
- 大数据计算的基石——MapReduce
MapReduce Google File System提供了大数据存储的方案,这也为后来HDFS提供了理论依据,但是在大数据存储之上的大数据计算则不得不提到MapReduce. 虽然现在通过框架的不 ...
- tars 部署
1. mysql url: 192.168.101.3 port: 3306 pw: 123456 一键部署 sudo ./linux-install.sh localhost 123456 en0 ...