public static void main(String[] args) {
int i = 0;
while(i==0){
System.out.println("Possibilities: R, T, O and X.\nYour choice: ");
Scanner scan = new Scanner(System.in);
String bla = scan.nextLine();
System.out.println(bla);
if(bla=="R"){
System.out.println("S or B?\n Your choice: ");
String derp = scan.nextLine();
if(derp=="S"){
String rekeningNummer = spaarRekening.getRekeningNummer();
}
}
if(bla=="T"){
System.out.println("dit is T");
}
if(bla=="O"){
}
if(bla=="X"){
}
else{
System.out.println("Impossible. Try again.");
}
i+=1;
}
}
我试图运行这个程序,但当遇到if语句时它会忽略它。我不知道为什么,我的想法已经不多了。
答案 0 :(得分:9)
答案 1 :(得分:5)
使用.equals()
。不要使用==
,因为它会比较字符串引用而不是字符串字符。
if (bla.equals("T")) {
System.out.println("dit is T");
}
if (bla.equals("O")) {
}
答案 2 :(得分:4)
==不是String
比较运算符。
您应该使用.equals()
来比较String
s。
答案 3 :(得分:1)
我们假设我们有两个字符串。 String str1 =“blah”; String str2 = new String(“blah”);
Java中存在两个级别的相等性。
您可能想要测试两个referance变量str1和str2是否指向同一个String对象。我们通常通过str1 == str2进行检查。
您可能想要测试str1和str2引用的字符串是否相等。我们通常通过调用equals方法来执行此操作,即str1.equals(str2)或str2.equals(str1)。
更明确地说,您的陈述“bla ==”R“”会检查“”R“”和 bla < strong>指向同一个对象与否,实际上并不是你想要的东西。 您想要检查 bla 引用的字符串是否等于“ R ”的含义。因此,如果您想在java中按照含义比较对象,则必须在该对象上调用equals()方法。
答案 4 :(得分:0)
不要使用== use .equals(),因为它是一个String对象