Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1136 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Message d'erreur tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Message d'erreur tableau

n°2033280
willy54
Posté le 30-10-2010 à 18:04:05  profilanswer
 

Bonjour, une erreur s'affiche quand j'exécute le code suivant:
 
int[] tab;  
tab=new int[5]; // création d'un tableau de 5 entiers
tab[0]=3;
tab[1]=2;
tab[2]=10;
tab[3]=1;
tab[4]=9;
 
for (int k=0;k<5;k++) {
System.out.println(tab[k]); } // on affiche pour voir si le tableau a bien pris les valeurs entrées
 
 
int temp;
for (int i=1;i<5;i++) {
if (tab[i]>=tab[i+1]) {
temp=tab[i];
tab[i]=tab[i+1];
tab[i+1]=temp;
 
}
}

 
Message d'erreur: java.lang.ArrayIndexOutOfBoundsExecption 5
 
 
----
Que faire?


Message édité par willy54 le 30-10-2010 à 18:04:42
mood
Publicité
Posté le 30-10-2010 à 18:04:05  profilanswer
 

n°2033281
Profil sup​primé
Posté le 30-10-2010 à 18:17:04  answer
 

ici

Code :
  1. int temp;
  2. for (int i=1;i<5;i++) {
  3. if (tab[i]>=tab[i+1]) {
  4. temp=tab[i];
  5. tab[i]=tab[i+1];
  6. tab[i+1]=temp;


 
A la 4eme itération i+1 vaut 5 et ton tableau est indexé de 0 à 4

n°2033291
gilou
Modérateur
Modzilla
Posté le 30-10-2010 à 20:50:49  profilanswer
 

Code :
  1. for (int i=1;i<5;i++) {
  2.  if (tab[i]>=tab[i+1]) {
  3.    emp=tab[i];
  4.    tab[i]=tab[i+1];
  5.    tab[i+1]=temp;
  6.  }
  7. }


a un problème avec les bornes, vous vouliez sans doute faire

Code :
  1. for (int i=0;i<4;i++) {
  2.  if (tab[i]>=tab[i+1]) {
  3.    emp=tab[i];
  4.    tab[i]=tab[i+1];
  5.    tab[i+1]=temp;
  6.  }
  7. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2033324
willy54
Posté le 31-10-2010 à 12:32:50  profilanswer
 

Merci bien ;)

n°2033344
HAXOCIS
Posté le 31-10-2010 à 15:31:28  profilanswer
 

Bonjour,
 
Je crois qu'on a aussi la possibilité suivante :
 
int i;
int tableauEntier[] = new int[5]; //création d'un tableau de 5 entiers
tableauEntier[] = {0,1,2,3,4} // tableauEntier recoit les 5 valeurs
 
for(int i = 0; i<tableauEntier.length; i++) {}  
 
 
 

n°2033411
Riokmij
Blink and you're dead
Posté le 01-11-2010 à 08:53:12  profilanswer
 

HAXOCIS a écrit :

Bonjour,
 
Je crois qu'on a aussi la possibilité suivante :
 
int i;
int tableauEntier[] = new int[5]; //création d'un tableau de 5 entiers
tableauEntier[] = {0,1,2,3,4} // tableauEntier recoit les 5 valeurs
 
for(int i = 0; i<tableauEntier.length; i++) {}  


 
Non, la syntaxe correcte, c'est :  

Code :
  1. int tableauEntier[] = new int[] {0, 1, 2, 3, 4};



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Message d'erreur tableau

 

Sujets relatifs
Structure en c sur un tableau de chaine de caractereTableau avec separateur
[C#] Erreur lors de l'ouverture d'un fichierlangage C, message d'erreur
Renvoie de tableau en appelant une classeProblème pour récupérer un tableau
[C] tableau dynamique 2 dimensiontableau 2D dynamique
Erreur 6 Dépassement de capacité 
Plus de sujets relatifs à : Message d'erreur tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR