循环,字符串,用户输入:Java

时间:2014-08-13 00:38:26

标签: java string while-loop user-input

我的代码出现问题。我需要帮助。它不会出现在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程序员,所以请具体说明。谢谢!

1 个答案:

答案 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"))