猿问

Java登录系统方法

Java中的这个登录系统几乎可以正常工作,但是这种方法遇到了麻烦:


public void Register() {

    Scanner sc = new Scanner(System.in);


    System.out.print("Register? (Y/ N)\n");

    String N = sc.nextLine();


    if ("N".equals(N)) {

        Login();

    } else {

        String Y = sc.nextLine();

        if ("Y".equals(Y)) {

        System.out.print("Email address: ");

        String string = sc.nextLine();

        System.out.print("Password: ");


        String string2 = sc.nextLine();


        System.out.print("\n\n");

        new Products().search();

        }

    }


}

在if部分中输入“ N”可以很好地工作,但是在else部分起作用之前,需要输入两次“ Y”(我知道为什么它不起作用)。


我知道这很简单,但是关于如何使其工作的任何线索?


隔江千里
浏览 166回答 3
3回答

慕妹3146593

这里String Y = sc.nextLine();您正在阅读另一行输入。您想比较已经读取的同一行输入,并将其存储在名为的变量中N。如果您给它起一个更好的名字,它将更加清楚。String line = sc.nextLine();if ("N".equals(line)) {    Login();} else if ("Y".equals(line)) {    System.out.print("Email address: ");    ...}
随时随地看视频慕课网APP

相关分类

Java
我要回答