私のコードに何が問題なのですか?私は1から6までの間に番号を入力するようユーザーに要求するように要求しているか、無効であると言い、別の試行を促す番号を入力しようとしています。ユーザーは3回しか試行できません。do while try catch with loop
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はまだ正常に動作しています。提案? –