J'essaie de remplir un tableau de chaînes avec des valeurs via l'entrée utilisateur. Je ferai plus avec cette classe plus tard, mais je veux juste voir le tableau rempli et l'imprimer. J'utilise une boucle while pour remplir une valeur spécifique, en attendant que l'utilisateur saisisse 0 pour arrêter, mais j'obtiens une exception ArrayIndexOutOfBoundsException quelle que soit la taille de mon tableau ou pour les boucles après avoir soumis une valeur. La saisie de 0 ne l'arrête pas non plus. Code complet ci-dessous.Le tableau de chaînes jette toujours ArrayIndexOutOfBoundsException
En outre, l'exception a la taille de mon tableau qui lui est associée (dans ce cas, 25.)
aide serait très apprécié, merci!
import java.util.Scanner;
public class Dincision {
static Scanner scanner = new Scanner(System.in);
public static String entered;
public static String[]foods;
public static void main (String[]args){
getChoices();
int count=0;
for (count=0; count<=24; count++){
System.out.println(foods[count]);
}
}
static public void getChoices() {
int i=0;
foods= new String[25];
String input;
System.out.println("Enter an eating option.");
input=scanner.next();
while (input != "0"){
foods[i]=input; //error here//
i++;
}
System.out.println("That's all!");
}
}
'while (entrée! =" 0 "&& i <25) {'. –
Vous pouvez également ajouter un point d'arrêt à l'emplacement défaillant et le déboguer. C'est comme ça qu'on apprend. – JonyD
Besoin de café, n'utilisez pas ['==' ou '! =' Pour comparer les chaînes en Java] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – azurefrog