Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java while循环中的If语句不';行不通_Java_If Statement_While Loop_Nested - Fatal编程技术网

Java while循环中的If语句不';行不通

Java while循环中的If语句不';行不通,java,if-statement,while-loop,nested,Java,If Statement,While Loop,Nested,我试图运行这个程序,但当它遇到if语句时,它会忽略它。我不知道为什么,我已经没有主意了。要比较String实例,请使用equals(),因为它是对象 见 ==不是比较运算符 您应该使用.equals()来比较字符串s。使用.equals()。不要使用=,因为它比较字符串引用而不是字符串字符 public static void main(String[] args) { int i = 0; while(i==0){ System.out.println("P

我试图运行这个程序,但当它遇到if语句时,它会忽略它。我不知道为什么,我已经没有主意了。

要比较
String
实例,请使用
equals()
,因为它是
对象


==不是比较运算符

您应该使用
.equals()
来比较
字符串
s。

使用
.equals()
。不要使用
=
,因为它比较字符串引用而不是字符串字符

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;
    }

}

不要使用==use.equals(),因为它是一个字符串对象

让我们假设有两个字符串。 字符串str1=“blah”; 字符串str2=新字符串(“废话”)

Java中有两种级别的平等性检查

  • 您可能需要测试两个引用变量str1和str2是否指向同一个字符串对象。我们通常通过str1==str2进行检查

  • 您可能需要测试str1和str2引用的字符串的含义是否相等。我们通常通过调用equals方法来实现这一点,即str1.equals(str2)或str2.equals(str1)

  • 更清楚地说,您的语句“bla==”R“检查“”R“”和bla返回的引用是否指向同一对象,而这实际上不是您想要的对象。
    您需要检查由bla引用的字符串在意义上是否等于“R”。因此,如果您想通过java中的含义来比较对象,您必须对该对象调用equals()方法。

    谢谢,我很感激,没有在:java编程简介谢谢,我很感激,没有在:java编程简介谢谢,我很感激,不要在:Java编程简介欢迎,必须在简介书的某个地方提到它。我在任何地方都找不到它,但在一本有近1500页的书中查找内容并不总是那么容易。:)然后可能会更改
    equals()
    的图书检查附录,它必须在那里
     if (bla.equals("T")) {
         System.out.println("dit is T");
     }
     if (bla.equals("O")) {
    
     }