ATM机系统:简单的Java逻辑实现

ATM机系统:

package pro0624;



import java.util.Scanner;



public class ATM {



int 密码 = 123456;

double 余额 = 7963.2;

String log = "";

Scanner in = new Scanner(System.in);



public void 输入密码(int count) {

System.out.print("请输入密码:");

int pass = in.nextInt();

if (pass == 密码) {

this.主界面();

} else {

count--;

if (count == 0) {

System.out.println("吞卡!");

} else {

log+="密码输入第"+(3-count)+"次错误\n";

System.out.println("密码输入错误,你还有" + count + "次机会");

this.输入密码(count);

}

}

}



public void 主界面() {

System.out.println("***********************************************");

System.out.println("**********欢迎来到中国XX银行ATM机***************");

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.退出");



int ask = in.nextInt();

switch (ask) {

case 1:

取款();

break;

case 2:

存款();

break;

case 3:

查询();

break;

case 4:

改密();

break;

case 5:

退出();

break;

default:

break;

}



}



public void 查询() {

System.out.println("你的余额为:" + 余额 + "元");

主界面();

}



public void 退出(){

System.out.println(log);

System.out.println("请带好你的卡和钱!再见!");

}



public void 取款() {

System.out.println("请输入取款金额:");

int money = in.nextInt();

if (money % 100 != 0) {

System.out.println("本机仅支持100面值!");

System.out.println("请选择:\n1.继续取款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

取款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

} else if (money > 余额 - 1) {

System.out.println("余额不足!");

System.out.println("请选择:\n1.继续取款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

取款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

} else if (money > 3000) {

System.out.println("超出单次最大额度!");

System.out.println("请选择:\n1.继续取款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

取款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

} else {

log+="取款成功!本次取出" + money + "元\n";

System.out.println("取款成功!本次取出" + money + "元");

余额 -= money;

System.out.println("请选择:\n1.继续取款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

取款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

}

}



public void 存款() {

System.out.print("请输入存款金额:");

int money = in.nextInt();

if (money % 100 != 0) {

System.out.println("本机仅支持100面值!");

System.out.println("请选择:\n1.继续存款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

存款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

} else {

log+="本次存入" + money + "元\n";

System.out.println("本次存入" + money + "元");

余额 += money;

System.out.println("请选择:\n1.继续存款\n2.返回主界面\n3.退出");

int ask = in.nextInt();

if (1 == ask) {

存款();

} else if (2 == ask) {

主界面();

} else if (3 == ask) {

退出();

}

}

}



public void 改密() {

System.out.print("请输入新密码:");

int pass1 = in.nextInt();

System.out.print("请再次输入新密码:");

int pass2 = in.nextInt();

if (pass1 == pass2) {

密码 = pass1;

log+="修改密码成功!\n";

System.out.println("修改成功!");

输入密码(3);

} else {

System.out.println("两次修改不一致!");

改密();

}



}



public static void main(String[] args) {

new ATM().输入密码(3);

}



}

猜你喜欢

转载自blog.csdn.net/zuo_h_dr/article/details/85731235