如何重复切换语句?

时间:2015-11-13 23:04:41

标签: java switch-statement repeat

canner Input = new Scanner(System.in);

int userNum;


int computerNum = (int) (0 + Math.random() * 3);

System.out.println("Let's play rock paper scissors.");
System.out.println("Choose rock paper or scissors");

boolean input = false;

String userInput = Input.nextLine();

do {
switch (userInput.toLowerCase().trim()) {
    case "rock":
        userNum = 0;
        input = true;
        break;
    case "paper":
        userNum = 1;
        input = true;
        break;
    case "scissors:":
        userNum = 2;
        input = true;
        break;
    default:
        System.out.println("Please retry and make sure spelling is correct");
        input = false;
        break;
}
} while (input = false); 

1 个答案:

答案 0 :(得分:2)

  

如何重复切换语句?

一般答案:你围绕它做了一个循环。

在这种情况下,问题是你在循环中犯了错误。

具体做法是:

    } while (input = false); 

false分配给input。赋值input = false的值是false ...所以你的循环语句只执行一次循环体。

应该是这样的:

    } while (input == false); 

或者更好 1

   }  while (!input);

1 - 这是更好的,因为当你使用==测试一个布尔值时,你可能会意外地使用=来代替上面说明的结果!请注意,在Java中,此问题仅适用于boolean测试。对于其他类型,x = y将具有与x == y不同的类型,并且足以导致错误导致编译错误...在此上下文中这是一件好事。 < / p>