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”(我知道为什么它不起作用)。我知道这很简单,但是关于如何使其工作的任何线索?
3 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
这里
String Y = sc.nextLine();
您正在阅读另一行输入。您想比较已经读取的同一行输入,并将其存储在名为的变量中N。如果您给它起一个更好的名字,它将更加清楚。
String line = sc.nextLine();
if ("N".equals(line)) {
Login();
} else if ("Y".equals(line)) {
System.out.print("Email address: ");
...
}
添加回答
举报
0/150
提交
取消