不知道楼主想要什么样的结构,帮楼主调整了一点代码,剩下的楼主自己完善吧。 public static void main(String[] args) {
Account A=new Account();
Scanner reader=new Scanner(System.in);
System.out.println("请输入账号:");
A.number=reader.next();
int index = 0;
while(!A.number.equals("10010")){
index ++;
if (index == 3) {
System.out.println("对不起,您输入的错误次数超过三次,系统自动退出");
System.exit(0);
}
System.out.println("账号输入错误!,請重新輸入\n请输入账号");
A.number=reader.next();
}
// if(A.number.equals("10010")){
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
// if(m<0||m>3) {
// System.out.println("操作错误!");
// }
while (m<0 || m>3) {
System.out.println("操作错误!\n请重新输入");
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
}
if(m==1) {
System.out.println("您当前余额为:"+A.CheckBalance());
}
else if(m==2) {
System.out.println("请输入要取出的金额:");
int money2=reader.nextInt();
if(money2>A.balance) {
System.out.println("余额不足!");
}
else {
A.Withdrawing(money2);
System.out.println("取款后余额为:"+A.CheckBalance());
System.out.println("要继续 取款吗(Y/N)?");
p=reader.next();
// if(p.equals("Y/y")) {
if (p.equalsIgnoreCase("Y")) {
System.out.println("请输入要取出的金额:");
int money3=reader.nextInt();
if(money3>A.balance) {
System.out.println("余额不足!");
}
else {
A.Withdrawing(money3);
System.out.println("取款后余额为:"+A.CheckBalance());
System.out.println("要继续 取款吗(Y/N)?");
q=reader.next();
if(q.equals("Y/y")) {
System.out.println("请输入要取出的金额:");
int money4=reader.nextInt();
if(money4>A.balance)
System.out.println("余额不足!");
else {
A.Withdrawing(money4);
System.out.println("取款后余额为:"+A.CheckBalance());
}
}
else {
System.exit(0);
}
}
}
else {
System.exit(0);
}
}
}
else if(m==3) {
System.out.println("请输入要存入的金额:");
int money1=reader.nextInt();
A.deposit(money1);
System.out.println("存款后余额为:"+A.CheckBalance());
System.out.println("要继续 存款吗(Y/N)?");
s=reader.next();
if(s.equals("Y/y")) {
System.out.println("请输入要存入的金额:");
int money5=reader.nextInt();
A.deposit(money5);
System.out.println("存款后余额为:"+A.CheckBalance());
System.out.println("要继续 存款吗(Y/N)?");
t=reader.next();
if(t.equals("Y/y")) {
System.out.println("请输入要存入的金额:");
int money6=reader.nextInt();
A.deposit(money6);
System.out.println("存款后余额为:"+A.CheckBalance());
}
else {
System.exit(0);
}
}
else {
System.exit(0);
}
}
// }
// else {
// System.out.println("账号输入错误!");
// }
}
Account A=new Account();
Scanner reader=new Scanner(System.in);
System.out.println("请输入账号:");
A.number=reader.next();
int index = 0;
while(!A.number.equals("10010")){
index ++;
if (index == 3) {
System.out.println("对不起,您输入的错误次数超过三次,系统自动退出");
System.exit(0);
}
System.out.println("账号输入错误!,請重新輸入\n请输入账号");
A.number=reader.next();
}
// if(A.number.equals("10010")){
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
// if(m<0||m>3) {
// System.out.println("操作错误!");
// }
while (m<0 || m>3) {
System.out.println("操作错误!\n请重新输入");
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
}
if(m==1) {
System.out.println("您当前余额为:"+A.CheckBalance());
}
else if(m==2) {
System.out.println("请输入要取出的金额:");
int money2=reader.nextInt();
if(money2>A.balance) {
System.out.println("余额不足!");
}
else {
A.Withdrawing(money2);
System.out.println("取款后余额为:"+A.CheckBalance());
System.out.println("要继续 取款吗(Y/N)?");
p=reader.next();
// if(p.equals("Y/y")) {
if (p.equalsIgnoreCase("Y")) {
System.out.println("请输入要取出的金额:");
int money3=reader.nextInt();
if(money3>A.balance) {
System.out.println("余额不足!");
}
else {
A.Withdrawing(money3);
System.out.println("取款后余额为:"+A.CheckBalance());
System.out.println("要继续 取款吗(Y/N)?");
q=reader.next();
if(q.equals("Y/y")) {
System.out.println("请输入要取出的金额:");
int money4=reader.nextInt();
if(money4>A.balance)
System.out.println("余额不足!");
else {
A.Withdrawing(money4);
System.out.println("取款后余额为:"+A.CheckBalance());
}
}
else {
System.exit(0);
}
}
}
else {
System.exit(0);
}
}
}
else if(m==3) {
System.out.println("请输入要存入的金额:");
int money1=reader.nextInt();
A.deposit(money1);
System.out.println("存款后余额为:"+A.CheckBalance());
System.out.println("要继续 存款吗(Y/N)?");
s=reader.next();
if(s.equals("Y/y")) {
System.out.println("请输入要存入的金额:");
int money5=reader.nextInt();
A.deposit(money5);
System.out.println("存款后余额为:"+A.CheckBalance());
System.out.println("要继续 存款吗(Y/N)?");
t=reader.next();
if(t.equals("Y/y")) {
System.out.println("请输入要存入的金额:");
int money6=reader.nextInt();
A.deposit(money6);
System.out.println("存款后余额为:"+A.CheckBalance());
}
else {
System.exit(0);
}
}
else {
System.exit(0);
}
}
// }
// else {
// System.out.println("账号输入错误!");
// }
}
楼主刚开始的代码全是if else,基本上都是直入直出的,想循环操作,换为while,然后进行下代码调整。
Account A=new Account();
Scanner reader=new Scanner(System.in);
System.out.println("请输入账号:");
A.number=reader.next();
int index = 0;
while(!A.number.equals("10010")){
index ++;
if (index == 3) {
System.out.println("对不起,您输入的错误次数超过三次,系统自动退出");
System.exit(0);
}
System.out.println("账号输入错误!,請重新輸入\n请输入账号");
A.number=reader.next();
}
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
while (m<0 || m>3) {
System.out.println("操作错误!\n请重新输入");
System.out.println("查询余额请按1;取款请按2;存款请按3");
m=reader.nextInt();
}
// 查询余额
if(m==1) {
System.out.println("您当前余额为:"+A.CheckBalance());
}
// 取款
else if (m==2) {
boolean isGoOn = true;
while(isGoOn) {
System.out.println("请输入要取出的金额:");
int money2=reader.nextInt();
if(money2>A.balance) {
System.out.println("余额不足!");
}
while (money2 <= A.balance) {
A.Withdrawing(money2);
System.out.println("取款后余额为:"+A.CheckBalance());
System.out.println("要继续 取款吗(Y/N)?");
p=reader.next();
if (p.equalsIgnoreCase("Y")) {
isGoOn = true;
// 仅作跳出while循环用,无实际意义
money2 = A.balance + 1;
} else {
System.exit(0);
}
}
}
}
// 存款
else if(m==3) {
boolean isGoOn = true;
while(isGoOn) {
System.out.println("请输入要存入的金额:");
int money1=reader.nextInt();
A.deposit(money1);
System.out.println("存款后余额为:"+A.CheckBalance());
System.out.println("要继续 存款吗(Y/N)?");
s=reader.next();
if (s.equalsIgnoreCase("Y")) {
isGoOn = true;
} else {
System.exit(0);
}
}
}
}
if (s.equalsIgnoreCase("Y")) {
isGoOn = true;
} else {
System.exit(0);
}这里的if 直接判断N的情况就可以了,因为isGoOn本身就是true
如果是N直接退出就可以了,否则会继续循环下去,剩下的你自己调吧
今天加班,事情做完了顺便把你这段代码拿出来调了调