gpt4 book ai didi

java - 我的程序中的字符串未正确计算

转载 作者:行者123 更新时间:2023-12-02 06:34:31 25 4
gpt4 key购买 nike

我是 JAVA 编程新手,现在我面临一个奇怪的情况。我将确认变量设置为 String 类型,它将保存用户输入。当用户输入“yes”时,程序应该创建一个新用户,但事实并非如此。相反,它会发出错误警报“进程被用户取消”。看来确认变量没有正确评估。有什么建议吗?谢谢。

这是我的代码(虽然很简单):

import java.util.Scanner;

public class CreateUser {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String firstName;
String lastName;
String confirmation;

System.out.println("Create new user");
System.out.print("Enter first name : ");
firstName = input.nextLine();
System.out.print("Enter last name : ");
lastName = input.nextLine();

System.out.println("Are you sure?");
confirmation = input.nextLine();

System.out.println(confirmation); // this line is to make sure that the variable value is "yes"

if(confirmation == "yes")
{
Users newUser = new Users(firstName, lastName);
System.out.printf("User %s %s has been created\n", firstName, lastName);
System.out.println("Total active users now is :"+Users.getRegisteredUsers());
}
else
{
System.out.println("Process is canceled by user");
}

input.close();

}
}

这是输出:

Create new user
Enter first name : fin
Enter last name : fin
Are you sure?
yes
yes
Process is canceled by user

最佳答案

使用

if (confirmation.equals("yes")) {
}

而不是

if(confirmation == "yes")

.equals() 比较 2 个字符串的值。 == 比较内存引用,看看它们是否指向同一个对象。 Reference article

关于java - 我的程序中的字符串未正确计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19793060/

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