中断语句在 “if else” - java

我不断收到错误,没有.ifelse

我也试过了else if

for (;;){
        System.out.println("---> Your choice: ");
        choice = input.nextInt();
        if (choice==1)
            playGame();
        if (choice==2)
            loadGame();
        if (choice==3)
            options();
        if (choice==4)
            credits();
        if (choice==5)
            System.out.println("End of Game\n Thank you for playing with us!");
            break;
        else
            System.out.println("Not a valid choice!\n Please try again...\n");=[;'mm
    }

另外,如果您对如何呈现此代码有更好的想法,请不要犹豫:)


答案 1

“break”命令在“if”语句中不起作用。

如果从代码中删除“break”命令,然后测试代码,则应发现代码的工作方式与没有“break”命令的工作方式完全相同。

“Break”设计用于循环内部(用于,while,do-while,增强的 for 和 switch)。


答案 2

因为你不依恋任何东西。不带大括号的语句仅包含紧跟在它后面的单个语句。elseif

if (choice==5)
{
    System.out.println("End of Game\n Thank you for playing with us!");
    break;
}
else
{
   System.out.println("Not a valid choice!\n Please try again...\n");
}

不使用牙套通常被视为一种不好的做法,因为它可能导致您遇到的确切问题。

此外,使用 here 会更有意义。switch

int choice;
boolean keepGoing = true;
while(keepGoing)
{
    System.out.println("---> Your choice: ");
    choice = input.nextInt();
    switch(choice)
    {
        case 1: 
            playGame();
            break;
        case 2: 
            loadGame();
            break;
        // your other cases
        // ...
        case 5: 
            System.out.println("End of Game\n Thank you for playing with us!");
            keepGoing = false;
            break;
        default:
            System.out.println("Not a valid choice!\n Please try again...\n");
     }
 }         

请注意,我使用的不是无限循环,因此可以轻松退出循环。另一种方法是使用带标签的中断。forwhile(boolean)