Java 当条件设置为false时,循环执行最后一次
任务:检查用户输入字符串是否具有相同的第一个和最后一个字符。如果是或否,则输出到屏幕,如果用户输入“完成”,则退出循环 问题:当条件为false时执行While循环 我尝试过的:使用不同类型的循环,在循环中做一个循环来重新验证代码,然后一起放弃Java 当条件设置为false时,循环执行最后一次,java,string,while-loop,Java,String,While Loop,任务:检查用户输入字符串是否具有相同的第一个和最后一个字符。如果是或否,则输出到屏幕,如果用户输入“完成”,则退出循环 问题:当条件为false时执行While循环 我尝试过的:使用不同类型的循环,在循环中做一个循环来重新验证代码,然后一起放弃 import java.util.*; public class lab_15 { public static void main(String args[]) { String userInput = ""; String
import java.util.*;
public class lab_15 {
public static void main(String args[]) {
String userInput = "";
String done = "done";
while (!userInput.equalsIgnoreCase(done))
{
int length;
Scanner sc = new Scanner(System.in);
userInput = sc.next();
length = (int)userInput.length();
if (userInput.charAt(0) == userInput.charAt(userInput.length()-1)) {
System.out.println("The first character equals the second character.");
}
else {
System.out.println("The first and second characters are different.");
}
}
// EXIT LOOP
System.out.println("Thank you for using this software!");
}
}
投入
+布拉德利
+汉娜
+完成
我仍然是新的网站,并已参考了t的s&c的有关职位。如果您发现问题没有挑战性,请不要否定。我是编程新手,希望有所进步
谢谢你 这是因为一旦进入循环,您会立即更改
userInput
。只有在到达循环顶部时才检查该条件,因此,如果中途使该条件无效,它将继续执行,直到到达顶部为止
解决方案是重构,以便最后发生的事情是更改用户输入,以便在值更改后立即检查条件。(我还将把scanner实例化从循环中拉出来。)
或者,如果
userInput
已更改以匹配终止条件,您可以在while
循环中检查您的条件,并调用break
。break
关键字将强制逻辑立即退出循环,而无需再次评估条件。是否可以包括提供给程序的输入?如果输入done
,如果。。。否则…循环的一部分,然后才退出。请尝试使用bufferedReader而不是Scanner。我希望这将解决问题addif(userInput.equalsIgnoreCase(done))break代码>就在条件之前。@Jimmy谢谢!这真是太棒了!我感谢你坚持不懈地提出这些愚蠢的问题,非常感谢,在循环结束时用了休息。把它修好了!