我遇到这种情况:用户必须输入'x'
的号码。如果值为>=0
,则使用此坐标创建新游戏。如果用户输入一个负数,将显示一条消息并且他将有另一次机会,将有三次机会输入正确的数字,否则将没有游戏。我为这个案例尝试过'if-statement'
,但效果不好。有没有办法在循环中做到这一点?
答案 0 :(得分:3)
final static int NUMBER_OF_TRIES = 3;
boolean correctNumber = false;
int attemptNumber = 0;
while (!correctNumber)
{
//get user input
if (inputIsCorrect)
{
createANewGame();
correctNumber = true;
}
else
{
System.out.println("Incorrect answer");
attemptNumber++;
}
if(!inputIsCorrect && attemptNumber == NUMBER_OF_TRIES)
{
System.out.println("You have reached the max number of tries");
System.exit(0); //or whatever you want to happen
}
}
答案 1 :(得分:0)
您可以使用带有以下代码的for
循环
for(int x = 0; x < 3; x++) {
//Perform logic
}
这将运行三次。您可以更改3
以使其运行更多次或更少次。
答案 2 :(得分:0)
import java.util.Scanner;
boolean isValidInput=false;
int counter=0;
Scanner sc = new Scanner(System.in);
int userInput;
while(counter<3 && isValidInput==false)
{
System.out.println("Enter a value: ");
userInput = sc.nextInt();
if(userInput>=0)
isValidInput=true;
else
System.out.println("Please Enter valid input");
counter++;
}