循环时忽略语句?

时间:2014-02-19 17:42:11

标签: java loops while-loop

你好这个问题一直困扰着我,因为我一周到处搜索都是徒劳的。我有这个代码     ................

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; Promotion iphone; 232425

N; 2001; PU; Promotion dell; 232426

N; 2002; PU; Promotion samsung; 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非常陌生,如果你想让我发布所有代码,我会更清楚。

2 个答案:

答案 0 :(得分:0)

  • 如果您使用 eclipse ,请检查“问题”视图是否有错误。有时,当您的工作空间出错时,eclipse无法编译代码。

  • 如果您使用正在运行的服务器,可能是服务器无法识别您的更改。重启它,可能会有所帮助。

  • 如果以上两项对您没有帮助,请准确说明您的需求,并指明您的开发环境。

答案 1 :(得分:0)

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