我的代码出现问题。我需要帮助。它不会出现在while循环中。
import java.util.Scanner;
public class Application {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("What is the capital city of Costa Rica?");
String value = scanner.nextLine();
while(value != "San Jose") {
System.out.println(value + " is the wrong answer. Try again.");
value = scanner.nextLine();
}
System.out.println("San Jose is Correct!");
}
}
你对我有什么答案吗?我是一名新的Java程序员,所以请具体说明。谢谢!
答案 0 :(得分:-1)
字符串是对象,因此无法以与基本类型相同的方式进行比较 - 例如int,long,float,double ..
String类有一个 equals 方法(和所有对象一样)(参见:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#equals(java.lang.Object))。已实现String equals方法,以根据字符串中的字符进行比较。
这意味着,而不是:
while(value != "San Jose")
你应该:
while(!value.equals("San Jose"))