出于某种原因,我的(基本)程序总是打印我为else
语句保留的文本。
对于Java来说,我是一个新手,所以如果我犯了一个明显的错误,我会道歉。我也搜索了高低的答案,但找不到答案。你能看看这个:
package test;
import java.util.Scanner;
public class tutorial_7 {
private static Scanner x;
public static void main(String args []) {
x = new Scanner(System.in);
System.out.print("Apples, or oranges: ");
String bog = x.next();
if (bog == "Apples") {
System.out.print(1);
}
if (bog == "Oranges") {
System.out.print(2);
}
else {
System.out.print(3);
}
}
}
}
为什么保留为if
语句保留的文本永远不会输出?一切似乎都很好。
此致 JavaNoob
答案 0 :(得分:4)
不要使用==
比较字符串,而是用于对象标识。
比较字符串应使用equals()
方法完成,例如:
if (bog.equals ("Oranges")) {
答案 1 :(得分:1)
How do I compare strings in Java?
if (bog.equals("Apples")){
System.out.print(1);
}
if (bog.equals("Oranges")){
System.out.print(2);
}
else{
System.out.print(3);
}