我的程序没有接受用户输入来循环启动程序

时间:2014-01-19 15:09:00

标签: java loops while-loop boolean

如果用户输入为yes,我有一个启动程序的循环,如果用户输入为no则结束程序

我的代码在用户输入为no时结束程序,但如果其他任何东西它将重新启动我想让它只在用户输入为是时重新开始

 System.out.println("Would you like to purchase more ticket ? ");
    Scanner answer = new Scanner(System.in);
    String an = answer.nextLine();
    if (an.equals("yes"))
    {
      lottery =true;
    }
    else if(an.equals("no"))
    {
      System.out.println("Thank you, Have a Great Day"); 
      lottery=false;
    }

1 个答案:

答案 0 :(得分:0)

有一个逻辑推测,我会说布尔值总是为真,直到你输入“no”,因为它首先初始化为true,因此如果两个if语句都失败,它仍然是是的,因此它将继续循环遍历循环。只需删除no条件的if语句。实际上,你也可以通过使用无限循环来删除布尔值,如果用户输入yes,只需使用continue关键字来完成迭代,否则就会跳出循环。

while(true) {
    System.out.println("Would you like to purchase more ticket?");
    Scanner answer = new Scanner(System.in);
    String an = answer.nextLine();
    if (an.equals("yes")) {
        continue;
    }
    System.out.println("Thank you, Have a Great Day");
    break;
}
相关问题