Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 try块中的if条件始终为真,即使它不应为´;T_Java - Fatal编程技术网

Java try块中的if条件始终为真,即使它不应为´;T

Java try块中的if条件始终为真,即使它不应为´;T,java,Java,我想管理if条件下的命令是否只显示在文件“Fleisch.txt”中,用于从方法“zutat1”输入的字符串。无论zutat1中的输入是什么,它总是显示出来 public String zubezut1() { String zz1; zz1 = zutat1; //String[] zubereitung = {"Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato"};

我想管理if条件下的命令是否只显示在文件“Fleisch.txt”中,用于从方法“zutat1”输入的字符串。无论zutat1中的输入是什么,它总是显示出来

public String zubezut1() {
    String zz1;
    zz1 = zutat1;

    //String[] zubereitung = {"Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato"};
    //String random = (zubereitung[new Random().nextInt(zubereitung.length)]);


    try{
      BufferedReader in = new BufferedReader(new FileReader("Fleisch.txt"));
      String zeile = zutat1;
      if (zeile.matches(zutat1)) {
        System.out.print(zutat1 + "_in_mudgerechte_Stücke_schneiden_und_in_der_Pfanne_scharf_anbraten");
      } // end of if

    }
    catch (IOException e) {
      e.printStackTrace();
    }
    return zz1;
  }    

问题是您基本上是将
zeile
设置为与
zutat1
相同的字符串! 因为它们都包含(或者说指向)相同的内容,所以它们总是匹配的

根据变量的名称,我猜您可能想从文件中读取一行,并将其与
zutat1
的内容进行比较

您应该看看文档,尤其是方法。这应该能帮你弄明白

您还应该查看文档,检查
是否与您真正想要使用的
匹配

您设置了

 String zeile = zutat1;
在紧跟着你的队伍中检查他们是否匹配

if (zeile.matches(zutat1)) {
在这种情况下,它们将始终匹配,因为您在前一行中将它们设置为相等

您可能想要的是:

zutat1 = "Mango";             // Set a value to be compared
String zeile = in.readLine(); // Read a line from the file

if (zeile.matches(zutat1)) {  // Compare the read line with the value

与处于试块无关。是的,你是对的,匹配不是我需要的,而是包含的。现在它起作用了。