【问题标题】:Statements ignored outside while loop?在while循环之外忽略语句?
【发布时间】:2014-02-19 17:42:11
【问题描述】:

您好,这个问题一直困扰着我,因为我在任何地方都徒劳无功地搜索了一个星期。我有这个代码 ......

while ((str = buff.readLine()) != null) {
    String[] line = str.split(";");
    String part1 = line[0];
    String part2 = line[1];
    String part3 = line[2];
    String part4 = line[3];
    String part5 = line[4];

    if (c.equals(part3)) {
        st = st + part1 + ";" + part2 + ";" + part3 + ";" + part4 + ";" + part5;
        System.out.println(part1 + ";" + part2 + ";" + part3 + ";" + part4 + ";" + part5 + "\n");

        fich1_tampon.write(st);
        fich1_tampon.flush();
        fich1_tampon.newLine();

        ++i;
    }
}

System.out.println("F;" + i);
fich1_tampon.close();
buff.close();
}

"System.out.println("F;" + i);"被忽略我不知道为什么。代码很长,但基本上我正在寻找在 c 中具有特定字符串的行,并且我正在将这些行写入另一个文件中。 我的控制台上的结果是这样的:

E;2014/02/19 20:21:06 文件已存在。 N;2000;PU;促销iphone;232425

N;2001;PU;促销戴尔;232426

N;2002;PU;促销三星;23242

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 2 在 LireFichierDecouper.decouper(LireFichierDecouper.java:70) 在 Main2.main(Main2.java:7) LireFichierDecouper 中的第 70 行是“String part3 = line[2];”

PS:我对java和eclipse非常陌生,如果你想让我发布所有代码以使其更清楚,我会的。

【问题讨论】:

  • 如果您可以先更合理地格式化该代码,那将真正有所帮助。如果您正在使用 IDE,请让您的 IDE 执行此操作。它会让你更容易看到发生了什么。如果您可以将其简化为一个简短但完整的程序来演示该问题,那也会有所帮助。我强烈怀疑,当你这样做时,你会发现问题。
  • 最好的程序员在编程时使用不一致的缩进。 |=^]
  • 你的变量名是 tampon btw
  • 你不应该冲洗卫生棉条。我不知道这是不是你的问题。
  • @aetheria 我只是因为那个笑话才为这个问题加注星标。我整天读/听过的最有趣的事

标签: java loops while-loop


【解决方案1】:
  • 如果您使用 eclipse,请检查“Problems”视图是否有错误。当您的工作区出现错误时,有时 eclipse 无法编译代码。

  • 如果您在正在运行的服务器上工作,服务器可能无法识别您的更改。重启一下,可能会有帮助。

  • 如果以上的双倍对您没有帮助,请准确解释您想要什么并指定您的开发环境。

【讨论】:

  • 我没有显示任何问题,但在我的控制台中我有这个:
  • E;2014/02/19 20:21:06 文件已存在。 N;2000;PU;促销 iphone;232425 N;2001;PU;促销戴尔;232426 N;2002;PU;促销三星;23242 线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 2 在 LireFichierDecouper.decouper(LireFichierDecouper. java:70) 在 Main2.main(Main2.java:7)
【解决方案2】:

通过在 System.out.println 处添加断点,调试器将有助于查看您是否正在访问该代码。另外,你在哪里运行代码? System.out.println 将根据 java 的运行方式进行定向。如果从命令行执行,请提供命令行。

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 2021-05-31
    • 2023-02-15
    • 1970-01-01
    • 2016-09-08
    • 2017-04-29
    • 2012-07-23
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多