Ich versuche, meinen Code durch Fehlerprüfung zu überprüfen. Ich möchte sicherstellen, dass die Ganzzahl, die Personen eingeben, keinen Buchstaben oder mehr enthält. Hier ist mein Code. Ich soll dieses Problem mit einem eindimensionalen Array lösen. Ich habe den Code funktioniert, aber ich habe Probleme mit dem Hinzufügen der Fehler beim Einchecken. Jede Hilfe wäre willkommen. DankWie überprüft man, ob ein Int einen Buchstaben enthält
public void getNumbers() {
Scanner keyboard = new Scanner(System.in);
int array[] = new int[5];
int count = 0;
int entered = 0;
int k = -1;
while (entered < array.length) {
System.out.print("Enter a number ");
int number = keyboard.nextInt();
if (10 <= number && number <= 100) {
boolean containsNumber = false;
entered++;
for (int i = 0; i < count; i++) {
if (number == array[i]) // i Or j
{
containsNumber = true;
}
}
if (!containsNumber) {
array[count] = number;
count++;
} else {
System.out.println(number + " has already been entered");
}
} else {
System.out.println("number must be between 10 and 100");
}
//what does %d do?
for (int j = 0; j < count; j++) {
System.out.printf("%d ", array[j]);
}
System.out.println();
}
}
}
Wenn eine Nicht-Ganzzahl eingegeben wird, wirft nextint() nicht eine inputmismatchexception? –
überprüfen Sie Ihren Code lieber, ob der Wert bereits eingegeben wurde –
ja, es löst eine Ausnahme aus. Ich glaube, mein Lehrer will nicht, dass ich eine Ausnahme habe. ein anderer Typ in meiner Klasse sagte, er habe es funktioniert mit hasNextInt – Stepsie94