Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何进行do-while循环以检查输入验证_Java - Fatal编程技术网

Java 如何进行do-while循环以检查输入验证

Java 如何进行do-while循环以检查输入验证,java,Java,例如,我想要一个循环,打印出“你想看电影吗?”直到用户输入“是” 以下是我目前掌握的情况: import java.util.Scanner; public class Testing { public static void main(String args[]){ Scanner scan = new Scanner(System.in); do { System.out.println("Do you want to watc

例如,我想要一个循环,打印出“你想看电影吗?”直到用户输入“是”

以下是我目前掌握的情况:

import java.util.Scanner;

public class Testing {
    public static void main(String args[]){
        Scanner scan = new Scanner(System.in);
        do {
           System.out.println("Do you want to watch a movie?");
           scan.nextLine();
           String Answer = scan.next();
        }
        while (!Answer.equals("yes"));

您必须在循环范围外定义
应答
变量:

Scanner scan = new Scanner(System.in);
String answer;
do {
    System.out.println("Do you want to watch a movie?");
    // scan.nextLine(); you don't need this
    answer = scan.next();
}
while (!answer.equals("yes"));

还应使用适当的Java命名约定:变量名称应为lowerCamelCase。

测试条件超出了读取它的{and}的范围,因此将
字符串应答的声明(lowcase)移动到do语句之前,以便我们可以在块外测试它(while指令已失效,是再次执行该块的条件)

并且,nextLine()返回并使用读取的值,结果就是它

    String answer;
    do {
       System.out.println("Do you want to watch a movie?");
       answer = scan.nextLine();
    } while(!answer.equals("yes"));