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的更多相关文章

  1. 安装appium桌面版和命令行版

    一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本: 2.直接点击紫色图标即可打开   3.启动server 二  命令行版(打开很快,常用于执行脚本) 1.jdk 安装jdk并 ...

  2. Java 命令行编译项目

    如果是用Exlipse, 第三方的包可以放在eclipse文件夹的jre包的lib文件夹中! (初学者的一些总结-高手们勿喷哈-) 原因: 以前一直用Eclispe编程环境运行Java.非常舒服,就像 ...

  3. Windows下安装appium桌面版和命令行版

    安装appium桌面版和命令行版   一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本:  github search appium desktop download late ...

  4. Python 实现有道翻译命令行版

    一.个人需求 由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持.索性 ...

  5. Linux java 命令行编译 jar包

    Java 命令行编译成class,然后在打包成jar文件. 编译成class javac -classpath $CLASS_PATH -d class ./src/Hello.java 可以通过ja ...

  6. java命令行执行程序解决依赖外部jar包的问题

    用java命令行直接执行程序,如果这个程序需要引用外部jar包.就不能单纯用java xx来执行 如果你的jar包和程序就在一个目录: 编译 javac -cp D:\yy\yy.jar,D\xx\x ...

  7. java命令行打war

    java命令行打war(windows下) 切换到需要打包文件夹low的上级目录>jar -cfM legendwealth.war -C low .

  8. appium桌面版和命令行版的安装

    一.appium桌面版: 启动很慢,一般用于元素定位 Appium-Desktop官方下载地址:https://github.com/appium/appium-desktop/releases/ ( ...

  9. Java命令行的基本编译运行

    1.编译 编写MyProgram.java文件,内容如下: public class MyProgram { public static void main(String[] args) { Syst ...

随机推荐

  1. 蓝桥 PREV-34 历届试题 矩阵翻硬币

      历届试题 矩阵翻硬币   时间限制:1.0s   内存限制:256.0MB      问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第 ...

  2. 【BJOI 2018】 求和

    [题目链接] 点击打开链接 [算法] 预处理i^k的前缀和,对于每次询问,树上倍增即可 时间复杂度 : O(nk + mlog(n)) [代码] #include<bits/stdc++.h&g ...

  3. [POI2011]LIZ-Lollipop

    https://www.zybuluo.com/ysner/note/1303462 题面 给一个只有\(1\)和\(2\)的序列,每次询问有没有一个子串的和为\(x\). \(n\leq10^6\) ...

  4. ZOJ3965 Binary Tree Restoring

    ZOJ3965 给定一颗二叉树的两种DFS序列 输出一种可能的二叉树的结构. 考察树的递归性质,不要想的太复杂. 当前节点在两个串中后面的节点假如不同则能确认两个子树,如果相同则把下个点作当前点的一个 ...

  5. 基于JWT机制的单点登录

    使用JWT实现单点登录时,需要注意token时效性.token是保存在客户端的令牌数据,如果永久有效,则有被劫持的可能.token在设计的时候,可以考虑一次性有效或一段时间内有效.如果设置有效时长,则 ...

  6. Vsftpd软件包的获取与安装

    11.2  Vsftpd简介 Vsftpd是一种在GPL许可下开放源代码的FTP服务器,用于多种UNIX系统和Linux系统.Vsftpd也称为Very Secure FTP Daemon,它是一种安 ...

  7. bootstrap的modal弹窗,在多层窗口关闭时只会关闭自窗口,不再关闭父窗口

    bootstrap多层modal弹窗时.当子窗口关闭时,所有父窗口一起关闭. 原因是bootstrap在窗口关闭事件委托时,委托给所有窗口. 如源码: this.$element.on('click. ...

  8. srand()

    //第一次:5 0 第二次:5 16 srand(); //seed为常数,则每次运行产生的随机数一样 printf(); //产生的随机数都是一样的,都是5 srand(time(NULL)); p ...

  9. 2017杭电多校第六场1011Classes

    传送门 Classes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tota ...

  10. 区间DP UVA 11584 Partitioning by Palindromes

    题目传送门 /* 题意:给一个字符串,划分成尽量少的回文串 区间DP:状态转移方程:dp[i] = min (dp[i], dp[j-1] + 1); dp[i] 表示前i个字符划分的最少回文串, 如 ...