夜凉遗梦⌒ 2021-01-15 12:13 采纳率: 100%
浏览 135
已采纳

for循环中加入has判断 就挑跳不出来了,怎么解决?

for循环中加入has判断 就挑跳不出来了,求大佬解答
下面是代码

package shopping;

import java.util.Scanner;

public class jieMian {
    public static void main(String[] args) {
        denglu();

    }

    public static void denglu() {
        //声明
        String name = "admin";
        int num = 123;
        int a;
        System.out.println("\t\t欢迎使用我行我素购物管理系统!");
        System.out.println("\t\t1.登录系统");
        System.out.println("\t\t2.退出");
        System.out.println("***************************************");
        Scanner input = new Scanner(System.in);
        for (; ; ) {
            System.out.println("请选择,输入数字:");
            if (input.hasNextInt()) {
                a = input.nextInt();
                if (a == 1) {
                    for (; ; ) {
                        System.out.println("请输入账号:");
                        String name1 = input.next();
                        System.out.println("请输入密码:");
                        int num1 = input.nextInt();
                        if (name1.equals(name) && num1 == num) {
                            break;
                        } else {
                            System.out.println("用户名密码错误,请重新输入!");
                        }
                    }
                    break;
                } else if (a == 2) {
                    System.out.println("欢迎下次光临!");
                    break;
                } else {
                    System.out.println("输入错误,请重新输入!");
                }
            } else {
                System.out.println("输入错误,请重新输入!");
                continue;
            }
        }
    }
}
  • 写回答

5条回答 默认 最新

  • 被风吹过的回忆 2021-01-15 13:42
    关注

    通过断点调试是可以看出这个问题,如果想继续输入,可以在改成这种方式

           else {
                    System.out.println("输入错误,请重新输入!");
                 
                    input = new Scanner(System.in);
                    continue;
                }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?