Was ist falsch mit meinem Code? Ich versuche, einen Benutzer aufzufordern, eine Nummer einzugeben, wenn es nicht zwischen 1 und 6 oder einer Nummer ist, sollte es ungültig sagen und einen anderen Versuch auffordern. Der Benutzer darf nur 3 Versuche haben.tun While-Schleife mit Versuch fangen
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;
}
}
Unendliche Schleife. Sie setzen die Anzahl zu Beginn jeder Schleife auf 0. Siehe die Antwort unten, aber setze diese Variable auch nicht auf Null innerhalb der Schleife. –
Bitte poste ein komplettes Beispiel - dein Quellcode kompiliert nicht einmal. – GhostCat
Ich habe den Int-Zähler geändert, aber die Do-While-Funktion funktioniert immer noch korrekt. Vorschläge? –