2013-09-25 64 views
-1

我有一个while循环,里面有if语句。 if语句正常工作,直到我添加一个else语句。问题在于,在运行程序时,即使满足if语句内的条件,它也会直接跳转到else语句。我似乎无法找到问题,并希望有人能够帮助我......If-else语句在while循环内不起作用

我的代码部分:

while(!filen.endOfFile()) { 
    linje = filen.inLine(); 
    splitt = linje.split(","); 

    if (linje.toUpperCase().contains(fugl.toUpperCase())) { 
     System.out.println(splitt[0] + ": "); 
     System.out.println(splitt[1]); 
     System.out.println(splitt[2]); 
     System.out.println(splitt[3]); 

    } else { 
     System.out.println("Write something here..."); 
    } 
} 

编辑:我试图把if语句为真,现在它显示结果,但else语句添加在底部。我不明白为什么会发生这种情况?

+4

'linje'和'fugl'的值是什么? – rgettman

+0

执行“if”和“else”不可能。你确定你没有看到来自两个不同迭代的输出吗? –

+0

你能向我们展示一些示例输入吗? – A4L

回答

1

通常发生这种情况是因为源与二进制文件不同步。尝试清理您的项目,并为您的IDE重建它。或者,也许你可以从IDE中删除它并再次导入。

+3

这应该是一个评论... – jlordo

0

即使if条件满足,JVM也没有理由去执行else块。除非条件结果返回错误值或代码编译不正确。

因此请尝试编译类&再试一次。虽然它没有按预期工作,然后在if条件中输入一个绝对值“true”,编译类&检查它是否在块执行时执行。

+0

里面的if代码我会把真正的价值? – user2795095

+0

在我的评论中,你可以看到... – woliveirajr

+0

我把if设为true,现在它打印if语句,但仍然是else语句。我不明白为什么... – user2795095

0

你可以尝试这样的事情。

if (true) { 
    System.out.println("Condition Satisfied"); 
} else { 
    System.out.println("Condition not Satisfied"); 
} 

如果你编译类正确,然后它会执行“条件成立”在控制台上的消息每一次。

0

避免总是在打印中的else语句。您必须删除else语句。如果还有其他条件需要搜索,请只添加其他条款。