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. 爬虫定时任务 redis 减轻 mysql 读的压力 加层

    非工作时间,定时任务爬虫大量mysq短链接,影响了其他业务的,mysql 报 too many connections  错误 将爬虫url池放入到redis中,单独的脚本维护redis url池的更 ...

  2. python 三维坐标图

    绘制3D柱状图,其数据格式为,二维数组或三维数组. from numpy import * file=open('C:\\Users\\jyjh\\Desktop\\count.txt','r') a ...

  3. HDU1052Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  4. Java 相关计数问题及其实现

    数(三声)数(四声)问题自然使用非负整数: 0. 一个类作为一个计数器 java 语法 -- final class Counter { private static long counter; pr ...

  5. ORACLE分区表发挥性能

    1.1 分区表PARTITION table 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能. 1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议 ...

  6. [noip模拟赛]跑跑步

    https://www.zybuluo.com/ysner/note/1298652 题面 小胡同学是个热爱运动的好孩子. 每天晚上,小胡都会去操场上跑步,学校的操场可以看成一个由\(n\)个格子排成 ...

  7. javascript 模块化编程----模块的写法

    一.原始写法 模板就是实现特定功能的一组方法 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. function m1(){ //... } function m2(){ //. ...

  8. poj 1201 Intervals【差分约束+spfa】

    设s为前缀和,首先显然的条件是\[ s_{bi}-s_{ai-1}>=c \],然后隐含的是\[ s_i-s_{i-1}>=0 s_i-s_{i-1}<=1 \] 然后根据差分约束, ...

  9. [Swift通天遁地]一、超级工具-(12)使用Toaster制作简短提示语的吐司窗口

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. 洛谷P5055 【模板】可持久化文艺平衡树(FHQ Treap)

    题面 传送门 题解 日常敲板子.jpg //minamoto #include<bits/stdc++.h> #define R register #define inline __inl ...