gpt4 book ai didi

java - 输入正确答案后无法让代码终止

转载 作者:行者123 更新时间:2023-12-01 18:23:04 25 4
gpt4 key购买 nike

编写一个名为PasswordChecker的程序,它执行以下操作:1.提示用户输入密码2.提示用户租用密码3.检查确保两次密码输入相同4.(对于前三次尝试)重复步骤 1 至 3,直到密码正确输入两次。5. 第三次尝试后,如果用户未正确输入密码,程序需要显示一条提示消息,指示用户帐户已暂停。

我的代码:

import java.util.Scanner;
public class passwordChecker{


public static void main(String [] args){
String pw1;
String pw2;
int count=0;
Scanner keyboard = new Scanner(System.in);
do{
System.out.println("Enter the password:");
pw1 = keyboard.nextLine();
System.out.println("Renter the password:");
pw2 = keyboard.nextLine();
count++;
if(pw1.equals(pw2))
System.out.println("Correct");

else if(count>=3)
System.out.println("Account is suspended");

while(pw1==pw2||count>3);
}
}

最佳答案

您似乎缺少一个右大括号(您打开 do 但不要在 while 之前关闭)。你的第一个条件应该是 count < 3我想你想循环同时两个 String (s) 不相等。比如,

do {
System.out.println("Enter the password:");
pw1 = keyboard.nextLine();
System.out.println("Renter the password:");
pw2 = keyboard.nextLine();
count++;
if (pw1.equals(pw2)) {
System.out.println("Correct");
} else if (count >= 3) {
System.out.println("Account is suspended");
}
} while (count < 3 && !pw1.equals(pw2));

编辑

您不使用==的原因(或 != )为 Object类型的特点是它仅测试引用相等性。您想要测试值是否相等(这些 String 来自不同的行,因此它们不会通过引用比较相等)。

关于java - 输入正确答案后无法让代码终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27097628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com