java控制结构案例:模拟ATM机
模拟ATM机
1.模拟三张银行卡,1001,1002,1003,分别设置密码和余额(可以用九个变量分别保存卡号.密码和余额)
2.提示用户输入银行卡和密码
3.如果用户输入正确----提示用户选择取款,存款,还是退出,并提示余额多少,输入错误重新输入卡号密码.
4.选择取款----提示输入提款额度,如果超出余额,提示余额不足,否则,在余额上减掉相应金额;
5.选择存款----输入存款额度,余额上加上相应额度,并提示余额多少;
6.选择退出,重新输入卡号和密码.
课前自写(毫无参考价值,请看下方):
package cn.xtnotes.u4;
import java.util.Scanner;
public class T10_1 {
public static void main(String[] args) {
int cardName1=1001;
double cardMoney1=591.66;
int cardKey1=1001;
int cardName2=1002;
double cardMoney2=457.96;
int cardKey2=1002;
int cardName3=1003;
double cardMoney3=1691.33;
int cardKey3=1003;
while(true) {
Scanner input=new Scanner(System.in);
System.out.println("请输入银行卡卡号:");
int cardName=input.nextInt();
System.out.println("请输入银行卡密码:");
int cardKey=input.nextInt();
if(cardName==cardName1 && cardKey==cardKey1) {
System.out.println("密码正确,请继续操作:");
System.out.println("1.存款---2.取款--3.退出");
System.out.println("您当前余额为:"+cardMoney1);
int op=input.nextInt();
if(op==1) {
System.out.println("请输入存款金额:");
double inMoney=input.nextDouble();
System.out.println("存款成功,当前余额:"+(inMoney+cardMoney1));
}else if(op==2) {
System.out.println("请输入余款金额:");
double outMoney=input.nextDouble();
if(outMoney>=cardMoney1) {
System.out.println("余额不足");
}else if(outMoney<=cardMoney1) {
System.out.println("取款成功,当前余额:"+(cardMoney1-outMoney));
}
}else if(op==3) {
continue;
}
}else if(cardName==cardName2 && cardKey==cardKey2) {
System.out.println("密码正确,请继续操作:");
System.out.println("1.存款---2.取款--3.退出");
System.out.println("您当前余额为:"+cardMoney2);
int op=input.nextInt();
if(op==1) {
System.out.println("请输入存款金额:");
double inMoney=input.nextDouble();
System.out.println("存款成功,当前余额:"+(inMoney+cardMoney2));
}else if(op==2) {
System.out.println("请输入余款金额:");
double outMoney=input.nextDouble();
if(outMoney>=cardMoney2) {
System.out.println("余额不足");
}else if(outMoney<=cardMoney2) {
System.out.println("取款成功,当前余额:"+(cardMoney2-outMoney));
}
}else if(op==3) {
continue;
}
}else if(cardName==cardName3 && cardKey==cardKey3) {
System.out.println("密码正确,请继续操作:");
System.out.println("1.存款---2.取款--3.退出");
System.out.println("您当前余额为:"+cardMoney3);
int op=input.nextInt();
if(op==1) {
System.out.println("请输入存款金额:");
double inMoney=input.nextDouble();
System.out.println("存款成功,当前余额:"+inMoney+cardMoney3);
}else if(op==2) {
System.out.println("请输入余款金额:");
double outMoney=input.nextDouble();
if(outMoney>=cardMoney3) {
System.out.println("余额不足");
}else if(outMoney<=cardMoney1) {
System.out.println("取款成功,当前余额:"+(cardMoney3-outMoney));
}
}else if(op==3) {
continue;
}
}else {
System.out.println("输入错误请重新输入");
continue;
}
}
}
}
老师写的更好的写法:
package com.unit5.test;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String cardNum1="1001";
String password1="123456";
double banlance1=10000;
String cardNum2="1002";
String password2="123456";
double banlance2=20000;
String cardNum3="1003";
String password3="123456";
double banlance3=30000;
System.out.println("欢迎来到银行!");
int count=0;
while(1==1) {
System.out.println("请输入卡号:");
String cardNum=in.next();
System.out.println("请输入密码:");
String password=in.next();
double banlance=0;
if(cardNum.equals(cardNum1) && password.equals(password1)) {
banlance=banlance1;
System.out.println("输入正确!用户:卡1 余额:"+banlance);
}else if(cardNum.equals(cardNum2) && password.equals(password2)) {
banlance=banlance2;
System.out.println("输入正确!用户:卡2 余额:"+banlance);
}else if(cardNum.equals(cardNum3) && password.equals(password3)) {
banlance=banlance3;
System.out.println("输入正确!用户:卡3 余额:"+banlance);
}else {
count++;
if(count>=3) {
System.out.println("您已经三次输入错误,银行卡已被锁定!");
break;
}else {
System.out.println("您已经"+count+"次输入错误!还有"+(3-count)+"次机会");
continue;
}
}
while(1==1) {
System.out.println("请输入要办理的业务:1.存款 2.取款 3.退出:");
int choice=in.nextInt();
if(choice==1) {
System.out.println("请输入存款金额:");
double money1=in.nextDouble();
if(money1>0) {
banlance=banlance+money1;
System.out.println("存款成功,存入"+money1+"元,余额"+banlance+"元");
}else {
System.out.println("存款金额输入错误!");
}
}else if(choice==2) {
System.out.println("请输入取款金额:");
double money2=in.nextDouble();
if(money2>0 && money2<=banlance) {
banlance=banlance-money2;
System.out.println("取款成功,取出"+money2+"元,余额"+banlance+"元");
}else {
System.out.println("取款金额输入错误!");
}
}else if(choice==3) {
System.out.println("办理结束,请收好卡片!!");
break;
}else {
System.out.println("输入错误,请重新选择!");
continue;
}
}
}
}
}
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/80.html
文章版权归作者所有,未经允许请勿转载。
THE END