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.
Schreibe einen Kommentar