Java 如果条件为真,则停止代码
问题是在while循环中,有一条注释Java 如果条件为真,则停止代码,java,Java,问题是在while循环中,有一条注释 BufferedReader user = new BufferedReader(new FileReader( "C:\\Users\\Ionut\\workspace\\tBot\\persoane.txt")); String line; while ((line = user.readLine()) != null) { if (line.toLowerCase().contains(nume.toLowerCase()))
BufferedReader user = new BufferedReader(new FileReader(
"C:\\Users\\Ionut\\workspace\\tBot\\persoane.txt"));
String line;
while ((line = user.readLine()) != null) {
if (line.toLowerCase().contains(nume.toLowerCase())) {
System.out.println("Ce mai faci " + nume + "?");
ceva = scanIn.nextLine(); //here i want to stop if the condition is true, but it will show the message and go ahead and execute the rest of the code
}
}
基本上有两种常见的解决方案: 1-使用
中断
:
while ((line = user.readLine()) != null) {
if (line.toLowerCase().contains(nume.toLowerCase())) {
System.out.println("Ce mai faci " + nume + "?");
ceva = scanIn.nextLine();
break; // exists the closest loop
}
}
2-使用布尔
标志:
boolean stop = false;
while (!stop && (line = user.readLine()) != null) {
if (line.toLowerCase().contains(nume.toLowerCase())) {
System.out.println("Ce mai faci " + nume + "?");
ceva = scanIn.nextLine();
stop = true;
}
}
你听说过break关键字吗?你想打破循环,而不是if条件。是的,我知道这个中断,我的问题是错误的,我不能写更多的代码来更清楚,但我解决了它。感谢+2:System.exit(0)或抛出新的RuntimeException()否,异常不应用作控制流。并且System.exit并不是真正退出循环的方法。否则,我很抱歉忘记按电源按钮……在我的情况下,第二个解决方案成功了,我不得不将其调整到代码的其余部分,但现在可以按照我的要求工作了。谢谢:)