求高手用JAVA编写一个模拟ATM机取款业务需求如下:
需求:首先提示用户输入密码(password),最多只能输入3次,超过则提示用户“密码错误请读卡"结束交易,如果用户密码正确在提示用户输入金额,ATM机只能输出100元纸...
需求:首先提示用户输入密码(password),最多只能输入3次,超过则提示用户“密码错误请读卡"结束交易,如果用户密码正确在提示用户输入金额,ATM机只能输出100元纸币,一次取钱要求最低0,最高1000,如果用户输入符合要求,则打印输出的钱数,最后提示交易完成请读卡,假设密码为:111111,:要求利用二重循环实现外层循环控制用户输入密码次数以及是否通过验证若未通过利用,continue跳转到外层循环继续接受输入,内层循环控制金额如果合法提示用户交易完成并利用break跳出循环否则利用continue跳到内层继续接收输入
展开
3个回答
展开全部
楼主您好,编码如下,直接运行即可:
import java.util.Scanner;
public class AtmGetMoney {
public static void main(String[] args) {
String password = "111111";
int count = 0;
int a = 0;
while(count<3){
System.out.println("请输入银行卡密码: ");
Scanner scan = new Scanner(System.in);
String passwd = scan.nextLine();
while(passwd.equals(password)){
System.out.println("请输入取款金额: ");
int amount = scan.nextInt();
if(amount%100 == 0 && amount <= 1000){
System.out.println("您的取款金额为: "+amount);
System.out.println("交易完成,请读卡!");
a = a + 1;
break;
}
else {
System.out.println("只能提取100元纸币,要求最低0,最高1000!");
continue;
}
}
if (a == 1){
break;
}
else if (count < 2) {
System.out.println("银行卡密码错误");
count = count + 1;
continue;
}
else {
System.out.println("密码错误请读卡");
break;
}
}
}
}
import java.util.Scanner;
public class AtmGetMoney {
public static void main(String[] args) {
String password = "111111";
int count = 0;
int a = 0;
while(count<3){
System.out.println("请输入银行卡密码: ");
Scanner scan = new Scanner(System.in);
String passwd = scan.nextLine();
while(passwd.equals(password)){
System.out.println("请输入取款金额: ");
int amount = scan.nextInt();
if(amount%100 == 0 && amount <= 1000){
System.out.println("您的取款金额为: "+amount);
System.out.println("交易完成,请读卡!");
a = a + 1;
break;
}
else {
System.out.println("只能提取100元纸币,要求最低0,最高1000!");
continue;
}
}
if (a == 1){
break;
}
else if (count < 2) {
System.out.println("银行卡密码错误");
count = count + 1;
continue;
}
else {
System.out.println("密码错误请读卡");
break;
}
}
}
}
追问
你好我想问问在循环3次之内如果密码输入错误将从新提示在输入密码,但是按照你的代码密码输入错误之后提示银行卡密码错误怎么才能把这个去了呀
追答
楼主您好,只需要把
else if (count < 2) {
System.out.println("银行卡密码错误");
count = count + 1;
continue;
}
中的 System.out.println("银行卡密码错误");
这一行删掉就OK了,即改为:
else if (count < 2) {
count = count + 1;
continue;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询