java命令行版的ATM
import java.util.*;
public class Jatm{
static String user = "123";
static String password = "123456";
static int sum = 5000;
static Scanner in = new Scanner(System.in);
//主函数
public static void main(String[] args) {
Jatm atm = new Jatm();
atm.login();
atm.mains();
}
//登录
public static void login(){
System.out.println("**************************");
System.out.println("***欢迎登录中华大衡银行***");
System.out.println("请输入用户名:");
String name = in.nextLine();
System.out.println("请输入密 码:");
String pw = in.nextLine();
if(name.equals(user) && pw.equals(password)){
System.out.println("登录成功!");
//mains();
}else{
System.out.println("登录失败,用户名或密码错误!请重新登录");
login();
}
}
//主页面
public static void mains(){
System.out.println("**************************");
System.out.println("***欢迎来到中华大衡银行***");
System.out.println("*****1、查询余额 *******");
System.out.println("*****2、存款 *******");
System.out.println("*****3、取款 *******");
System.out.println("*****4、修改密码 *******");
System.out.println("*****5、退出 *******");
System.out.println("**************************");
System.out.println("请选择:");
int n = in.nextInt();
switch(n){
case 1: search();
break;
case 2: add();
break;
case 3: get();
break;
case 4: change();
break;
case 5: exit();
break;
default:
System.out.println("选择错误,请重新选择:1--5数字");
mains();
break;
}
}
//查询
public static void search(){
System.out.println("您的账户余额为:"+sum+"元");
mains();
}
//存款
public static void add(){
System.out.println("请输入存款金额:");
int counts = in.nextInt();
sum+=counts;
System.out.println("存款成功!");
mains();
}
//取款
public static void get(){
System.out.println("请输入取款金额:");
int counts = in.nextInt();
if(counts>=sum){
System.out.println("您的余额不足,请输入取款金额:");
get();
}else{
sum-=counts;
System.out.println("取款成功!");
mains();
}
}
//改密
public static void change(){
Scanner in = new Scanner(System.in);
System.out.println("请输入原密码:");
String oldpw =in.nextLine();
if(oldpw.equals(password)){
System.out.println("请输入新密码:");
String newpw = in.nextLine();
password = newpw;
System.out.println("密码修改成功");
mains();
}else{
System.out.println("原密码错误!");
change();
}
}
//退出
public static void exit(){
Scanner in = new Scanner(System.in);
System.out.println("确定退出?(yes/no):");
String conf = in.nextLine();
if(conf.equals("yes")){
System.out.println("请慢走,欢迎下次光临!");
}else if(conf.equals("no")){
mains();
}else{
System.out.println("没有此选项哟!");
mains();
}
}
}
java命令行版的ATM的更多相关文章
- 安装appium桌面版和命令行版
一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本: 2.直接点击紫色图标即可打开 3.启动server 二 命令行版(打开很快,常用于执行脚本) 1.jdk 安装jdk并 ...
- Java 命令行编译项目
如果是用Exlipse, 第三方的包可以放在eclipse文件夹的jre包的lib文件夹中! (初学者的一些总结-高手们勿喷哈-) 原因: 以前一直用Eclispe编程环境运行Java.非常舒服,就像 ...
- Windows下安装appium桌面版和命令行版
安装appium桌面版和命令行版 一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本: github search appium desktop download late ...
- Python 实现有道翻译命令行版
一.个人需求 由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持.索性 ...
- Linux java 命令行编译 jar包
Java 命令行编译成class,然后在打包成jar文件. 编译成class javac -classpath $CLASS_PATH -d class ./src/Hello.java 可以通过ja ...
- java命令行执行程序解决依赖外部jar包的问题
用java命令行直接执行程序,如果这个程序需要引用外部jar包.就不能单纯用java xx来执行 如果你的jar包和程序就在一个目录: 编译 javac -cp D:\yy\yy.jar,D\xx\x ...
- java命令行打war
java命令行打war(windows下) 切换到需要打包文件夹low的上级目录>jar -cfM legendwealth.war -C low .
- appium桌面版和命令行版的安装
一.appium桌面版: 启动很慢,一般用于元素定位 Appium-Desktop官方下载地址:https://github.com/appium/appium-desktop/releases/ ( ...
- Java命令行的基本编译运行
1.编译 编写MyProgram.java文件,内容如下: public class MyProgram { public static void main(String[] args) { Syst ...
随机推荐
- 呐喊-Skrik
尼斯,1892年1月22日,我和两个朋友还在散步,太阳已快下山了,天空突然间变得血一样红,我似乎感受到了一种悲伤忧郁的气息,我止住了脚步,轻轻地倚在篱笆边,极度的疲倦已使我快要窒息了.火焰般的云彩像血 ...
- MySQL 基础 —— 数据类型、各种变量
1. 基本数据类型 char:prod_id char(10),括号内的内容表示字符的长度 decimal:十进制,不带参数为整数(四舍五入) text:文本类型,长度不限 2. 日期和时间处理函数 ...
- 雅礼集训 2017 Day1
T1:loj 6029 市场 题目大意: 维护一个数据结构支持区间加 区间除法 区间求最小值 区间求和 思路: 用线段树维护区间加 区间求最小值 区间和 对于区间除法 注意到除数d很大而加法的w很小 ...
- not syncing : corrupted stack end detected inside scheduler
自己在测试安装UBuntu的时候遇见了这个错误,not syncing : corrupted stack end detected inside scheduler解决办法 原因是低版本的VMwar ...
- 洛谷 P2585 [ ZJOI 2006 ] 三色二叉树 —— 树形DP
题目:https://www.luogu.org/problemnew/show/P2585 首先,三色其实记录两种状态:是绿色,不是绿色 即可,因为红蓝可以随意取反: 一开始因为懒得还原出树,所以写 ...
- 698C
Description n个视频,长度为k的缓存,每次询问,每个视频以pi的概率被选,如果不在缓存区则加入,如果缓存区满了,则最先进缓存的出来,问10^100次操作以后每个视频在缓存的概率 Input ...
- Poj 1236 Network of Schools (Tarjan)
题目链接: Poj 1236 Network of Schools 题目描述: 有n个学校,学校之间有一些单向的用来发射无线电的线路,当一个学校得到网络可以通过线路向其他学校传输网络,1:至少分配几个 ...
- STL之set和multiset
set是与集合相关的容器,STL为我们提供了set的实现,在编程题中遇见集合问题直接调用是十分方便 SET set模版类的定义在头文件<set>中. 定义set对象的示例代码如下: set ...
- Kafka~服务端几个常用的命令
在Centos上安装和部署完成kafka之后,我们就可以向服务端推消息和消费它了,今天主要聊几个常用的命令,比建立topic,从broken显示所有topics列表,向broken发消息,从broke ...
- Echarts和Quartz简介
一.Echarts ECharts 是由百度前端团队开发的一款开源的基于 js 图形报表组件,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大 ...