Mehrere Scanner Eingang In Die For-Schleife
Ich habe gerade erst angefangen Programmieren zu lernen mit Java und ich hatte eine Frage bezüglich der Eingabe über den scanner. Ich Baue ein kleines Programm, das einfach fordert den Benutzer zur Eingabe erstellen Sie ein numerisches array. Ich Frage mich, ob es war ein Weg, um zu überprüfen für das numerische Eingabefeld, welches die for-Schleife anstatt einer while-überprüfen Sie auf jedem meiner Fälle in der for-Schleife.
Als gut, andere Kommentare oder Anregungen auf meinen code zu helfen, mich zu verbessern und zu verstehen, was ich mache, wäre sehr dankbar!
Danke!
Edit: rufe ich diese Klasse aus einer "Main" Klasse, wo ich das Programm ausführen.
import java.util.Scanner; //Import the use of the Java Scanner
public class ArrayBuild { //Open Application
private static Scanner input;
public Double[] anArray;
public static int arrayCount = 0;
public ArrayBuild() { //Constructor for ArrayBuild object
input = new Scanner(System.in);
arrayCount++;
System.out.println("This will be Array: " + arrayCount);
//Array Size Declaration
System.out.println("Enter Array Size: ");
while (!input.hasNextInt()) {
System.out.println("Please enter an integer for Array size!");
input.next();
}
int n = input.nextInt();
anArray = new Double[n]; //Create 'anArray' of size n
//
for (int i = 0; i < n; i++) { //Begin For Loop
if (i == 0) {
System.out.println("Enter First Number: ");
while (!input.hasNextDouble()) {
System.out.println("Please enter a number for array data!");
input.next();
}
Double D = input.nextDouble();
anArray[i] = D;
}
else if (i > 0 && i < (n - 1)) {
System.out.println("Enter Next Number: \n");
while (!input.hasNextDouble()) {
System.out.println("Please enter a number for array data!");
input.next();
}
Double D = input.nextDouble();
anArray[i] = D;
}
else if (i == (n - 1)) {
System.out.println("Enter Final Number: ");
while (!input.hasNextDouble()) {
System.out.println("Please enter a number for array data!");
input.next();
}
Double D = input.nextDouble();
anArray[i] = D;
}
} //End For Loop
}
} //Close Class
- Lesen Sie die javadoc für alle
nextX()
Methoden. Sie erklären, was Sie eigentlich Lesen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Sache, die Sie tun können, zu vereinfachen und zu schreiben sauberen code zu trennen Sie immer den sich wiederholenden code. In Ihrem Fall, innerhalb der for-Schleife, Sie ändern nur die print-Anweisung innerhalb der if-Bedingung. Nehmen Sie den anderen code außerhalb wie diese -