À l'aide d'une boucle For pour remplir un tableau

Donc j'ai essayé d'obtenir un tableau de valeurs à partir d'un scanner et remplissez-les dans le tableau. Si l'utilisateur entre 10 valeurs entières ou -1 la boucle se termine et le tableau des arrêts de remplissage dans les valeurs. Voici le code que j'ai écrit jusqu'à présent pour ce faire:

//Input scanner and input controls
Scanner scan = new Scanner(System.in);

System.out.print("Please enter 10 integers \n");

int maxnum = 10;
boolean done = false;
int count = 0;
int[] arrays = new int[maxnum];


//Store values in count array
for (count = 0; (count < maxnum && !done); count++) {
    arrays[count] = scan.nextInt();
    if (arrays[count] == -1) {
        arrays[count] = 0;
        done = true;
    }

}

//print count values
for (count = 0; (count < maxnum); count++) {
    if (arrays[count] != 0) {
        System.out.println(arrays[count]);
    }

}

Ce que j'ai fait de sorte que -1 n'est pas stocké dans le tableau est de définir la valeur de -1 à 0, puis dites à ma prochaine boucle de ne pas imprimer toutes les valeurs de 0. Je sais qu'il y a à être une meilleure façon de le faire et je comprends que je suis toujours stocker les valeurs nulles, mais pour la vie de moi je ne peux pas comprendre comment prévenir la boucle de stocker des valeurs nulles dans la matrice

Vous pouvez omettre le fait booléen en utilisant break; à l'intérieur de l'instruction si l'intérieur de la première boucle
Int tableaux ont une valeur par défaut de 0...donc, quels que soient les indices qui sont inutilisés sont toujours en cours à 0 en fin de compte...

OriginalL'auteur Bhetzie | 2014-03-07