我的代碼有什麼問題?我正在嘗試請求提示用戶輸入一個數字,如果它不在1和6之間,或者它應該表示無效的數字並提示另一次嘗試。用戶可能只有3次嘗試。做循環試try catch
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numbers = new int[6];
System.out.println("Enter a number on a die from 1-6:");
String dieinput = input.next();
int invalidcount = 0;
System.out.println("Your number is: " + dieinput);
do{
try
{
// the String to int conversion
int dienum = Integer.parseInt(dieinput.trim());
int dienumOE = 0;
int count=0;
//test number input
if ((dienum >= 1) && (dienum<= 6))
System.out.println("number is " + dienum + oddoreven(dienum));
else
System.out.println("Invalid number, please enter a number 1-6");
count++;
System.out.println("Count" + count);
}
catch (NumberFormatException nfe){
System.out.println("Invalid number, please enter a number 1-6");
System.out.println("Count" + count);
}
while (count <= 3 && count >=0);
}
}
// Check if odd or even
public static String oddoreven(int num) {
String result;
if (num % 2 == 0)
result = "even";
else
result = "odd";
return result;
}
}
無限循環。您在每個循環的開始時將計數設置爲0。請參閱下面的答案,但不要在循環內將此變量設置爲零。 –
請發表一個完整的例子 - 你的源代碼甚至不會編譯。 – GhostCat
我改變了int計數器,但do-while仍在正常工作。建議? –