L'impression que les valeurs saisies par l'utilisateur et stockées dans un tableau en Java
Je suis des études de tableaux pour un examen et vais avoir quelques problèmes d'impression les valeurs stockées dans le tableau que j'ai créé. Les directions dire de "Déclarer, de créer et d'initialiser un tableau nommé numéros qui va contenir 10 chiffres entiers saisis à partir du clavier." Nous sommes censés pour imprimer le tableau pour s'assurer que les valeurs ont été enregistrés correctement. Voici le code que j'ai jusqu'à présent:
import java.util.Scanner;
public class ArrayHandout {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numbers = new int[10];
System.out.print("Please enter " + numbers.length + " values:");
for(int index = 0; index < numbers.length; index++)
numbers[index] = input.nextInt();
System.out.println(numbers[index]);
} //end main
} //end class
Lorsque j'essaie de compiler, j'obtiens cette erreur:
1 error found:
File: C:\Users\HiTechRedneck\Desktop\Fall 2013\Computer Science Principles\Exam 3 Review\ArrayHandout.java [line: 12]
Error: cannot find symbol
symbol: variable index
location: class ArrayHandout
J'ai essayé un couple de façons différentes pour imprimer ce. J'ai essayé d'utiliser une boucle while plutôt que d'une boucle for, et bien qu'elle compilé fine, j'ai reçu l'erreur d'exécution
java.lang.ArrayIndexOutOfBoundsException: 10
at Arrays.main(Arrays.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
Avant d'ajouter l'instruction print, j'ai été en mesure de compiler et d'exécuter le programme sans erreurs, mais j'ai besoin d'un moyen de assurez-vous que l'entrée est enregistrée dans le tableau correctement. Toute aide serait grandement appréciée.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'accolades dans votre
for
boucle.La façon dont votre code est rédigé aujourd'hui, seule la première ligne est dans la boucle et la ligne sait à propos de la
index
variable. Cependant, la ligne suivante, déjà ne sait rien à propos deindex
cause de la sortie de la boucle de la portée.Vous avez oublié le curley accolade après votre boucle for. Donc la variable d'index est devenu hors de portée.
Que votre boucle de la fermer avant de l'imprimer
Personnellement j'ai toujours inclure les accolades afin de réduire le risque de confusion lors de la lecture ou la modification du code. Vous pouvez exclure des accolades dans le cas où il n'y a qu'une seule ligne après
for
instruction de boucle.À la fois un départ sans en ajoutant des accolades à penser qu'il existe une seule ligne de code dans le
for
boucle, mais plus tard, quand il est nécessaire d'ajouter une autre ligne de code dans lefor
boucle, il/elle ajoute la ligne de code sans en ajoutant des accolades - Programmeurs gotcha! Bien que de gauche à la préférence personnelle, une recommandation serait de laisser le corset de la gardé clause & utiliser des accolades sur les autres scénarios.