내 코드에 어떤 문제가 있습니까? 나는 그것이 1과 6 사이에 없으면 번호를 입력하라는 요청을 시도하거나 유효하지 않다고 말한 번호를 시도하고 또 다른 시도를 시도한다. 사용자는 3 번만 시도 할 수 있습니다.try while catch try while 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으로 설정합니다. 아래 답변을 참조하십시오. 그러나이 변수를 루프 내에서 0으로 설정하지 마십시오. –
전체 예제를 게시하십시오 - 소스 코드가 컴파일되지 않습니다. – GhostCat
int 카운터를 변경했지만 do-while이 올바로 작동하고 있습니다. 제안? –