Aidez-moi sur le code source JAVA.

yosrimessi Messages postés 1 Date d'inscription mardi 1 octobre 2013 Statut Membre Dernière intervention 1 octobre 2013 - 1 oct. 2013 à 21:16
KX Messages postés 16737 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 18 mai 2024 - 1 oct. 2013 à 22:04
J'ai une probléme dans mon code JAVA. Voiçi le code ci-dessous :
import java.util.*; 
 class ClasseNumero1 {
public static void main(String[] args) {
	Ville[] tableau = new Ville[6];
	//Définition d'un tableau de noms de Villes et un autre de nombres d'habitants
	String[] tab = {"Marseille", "lille", "caen", "lyon", "paris","nantes"};
	int[] tab2 = {123456, 78456, 654987, 75832165, 1594, 213};
	//Les trois premiers éléments du tableau seront des Villes
	//et le reste des capitales
	for(int i = 0; i < 6; i++){
	if (i <3){
	Ville V = new Ville(tab[i], tab2[i], "france");
	tableau[i] = V;
	}
	else{
	Capitale C = new Capitale(tab[i], tab2[i], "france", "la tour Eiffel");
	tableau[i] = C;
	}
	}
	//Il ne nous reste plus qu'à décrire tout notre tableau !
	for(Ville obj : tableau){
	System.out.println(obj.toString()+"n");
	}
	
}
}



Et lorsque je compile, il m'affiche un résultat comme ça :


Création d'une nouvelle ville avec paramétre
Création d'une nouvelle ville avec paramétre
Création d'une nouvelle ville avec paramétre
Création d'une nouvelle ville avec paramétre
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
	at Ville.setCategorie(Ville.java:83)
	at Ville.<init>(Ville.java:27)
	at Capitale.<init>(Capitale.java:11)
	at ClasseNumero1.main(ClasseNumero1.java:16)

1 réponse

KX Messages postés 16737 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 18 mai 2024 127
1 oct. 2013 à 22:04
Il faudrait voir le code de la méthode setCategorie dans ta classe Ville, mais de toute évidence tu accèdes à la case 8 d'un tableau de taille 6...
0
Rejoignez-nous