如果用户输入是y或n,请继续返回

时间:2014-06-24 13:30:36

标签: java if-statement input

    import java.util.Scanner;



    public class Two {
public static void main (String args[]){
    Scanner input = new Scanner(System.in);

    boolean userReady=false;

    do{
        System.out.println("y/n")
        String userinput = input.nextLine();
        if (userinput.equals("y")){
            userReady = true;
        }else if (userinput.equals("n")){
            userReady = false;  
        }
    }while (userReady = false);
    System.out.println("You are ready!");
}

}

结果总是"你准备好"我确定它是一个非常简单的修复,我只是无法理解......

3 个答案:

答案 0 :(得分:2)

因为System.out.println("You are ready!");不在任何条件或循环中。

它是一个单独的最后声明。

答案 1 :(得分:2)

您正在运行while(userReady = false);而不是while(userReady == false);。这不是检查条件,只是分配值。

答案 2 :(得分:0)

只需在按y的情况下移动打印件。

public class Two {
   public static void main (String args[]){
     Scanner input = new Scanner(System.in);

     boolean userReady=false;

     do{
        System.out.println("y/n")
        String userinput = input.nextLine();
        if (userinput.equals("y")){
            userReady = true;
            System.out.println("You are ready!");
        }else if (userinput.equals("n")){
            userReady = false;  
        }
     }while (userReady = false);
  }
}