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

  FORUM HardWare.fr
  Programmation
  Java

  tableau outofBound

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tableau outofBound

n°2260819
domxaline
Posté le 20-06-2015 à 22:34:52  profilanswer
 

bonjour
l'utilisateur entre différent taille de tableau veut dire tableau 1=2 et tableau2 = 3
en exécutant mon prg j'ai erreur suivante
 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at Testing4.main(Testing4.java:31)
 
veuillez m'aider svp
voilà mon prg:

Code :
  1. import java.util.Scanner;
  2. public class Testing4
  3. {
  4.   public static void main(String[] args)
  5.   {
  6. Scanner sc=new Scanner(System.in);
  7. System.out.println("**Entrez nb d'élément de premier tableau:***" );
  8. int m=sc.nextInt();
  9. int tab1[]=new int[m];
  10. System.out.println("**Entrez nb d'élément de deuxième tableau:***" );
  11. int n=sc.nextInt();
  12. int tab2[]=new int[n];
  13. for(int i=0;i<tab1.length;i++)
  14. {
  15.  System.out.println("*Entrez l'élément tableau 1 * n°"+(i+1)+""+" du tableau:" );
  16.  tab1[i]=sc.nextInt();
  17. }
  18. for(int i=0;i<tab2.length;i++)
  19. {
  20.  System.out.println("*Entrez l'élément tableau 2 * n°"+(i+1)+""+" du tableau:" );
  21.  tab2[i]=sc.nextInt();
  22. }
  23. int tab3[]=new int [Math.max(m, n)];
  24. for(int i=0;i<tab3.length;i++)
  25.     {
  26.     tab3[i]=tab1[i]+tab2[i];
  27.     System.out.println("L'addtion de chaque élément de ces 2 tableaux sont: "+tab1[i]+"+"+tab2[i]+" = "+tab3[i]);
  28.     }
  29.   }
  30. }

mood
Publicité
Posté le 20-06-2015 à 22:34:52  profilanswer
 

n°2260820
rat de com​bat
attention rongeur méchant!
Posté le 20-06-2015 à 22:44:05  profilanswer
 

C'est parfaitement logique vu le code....

 

Si tu prends taile tab1 = 2 et taille tab2 = 3 alors tab3 sera de taille 3 puisque max(2,3)=3. Ton index i (ligne 29) va donc de zéro à deux, or le tab1 est seulement de taille 2 donc dernier index=1.

 

ligne 27 t'as pas confondu Max et Min par hasard?

Message cité 1 fois
Message édité par rat de combat le 20-06-2015 à 22:44:36
n°2260824
domxaline
Posté le 20-06-2015 à 23:49:07  profilanswer
 

rat de combat a écrit :

C'est parfaitement logique vu le code....
 
Si tu prends taile tab1 = 2 et taille tab2 = 3 alors tab3 sera de taille 3 puisque max(2,3)=3. Ton index i (ligne 29) va donc de zéro à deux, or le tab1 est seulement de taille 2 donc dernier index=1.
 
ligne 27 t'as pas confondu Max et Min par hasard?


 
c'est vrai ce là que j'ai pb
mais je ne sais pas comment le résoudre

n°2260842
rat de com​bat
attention rongeur méchant!
Posté le 21-06-2015 à 19:15:21  profilanswer
 

Déjà dis nous ce que tu veux faire. Additionner deux tableaux de tailles différentes il y a forcément un problème. Soit tu prends min() ligne 27 et tu ignores ce qui reste dans un des tableaux, soit tu fais deux tableaux de même taille (soit virer les lignes 12 et 13 et mettre m à la place de n ligne 14).

n°2260848
domxaline
Posté le 22-06-2015 à 08:29:52  profilanswer
 

merci beaucoup, j'ai résolu mon pb ainsi:

Code :
  1. import java.util.Scanner;
  2. public class Testing3
  3. {
  4.   public static void main(String[] args)
  5.   {
  6.     Scanner sc=new Scanner(System.in);
  7.     System.out.println("*****Entrez nb d'élément de premier tableau:*****" );
  8.     int m=sc.nextInt();
  9.     System.out.println("*****Entrez nb d'élément de deuxième tableau:*****" );
  10.     int n=sc.nextInt();
  11.     int p = Math.max(m, n);
  12.     int tab1[]=new int[p];
  13.     int tab2[]=new int[p];
  14.     int tab3[]=new int[p];
  15.     for(int i=0;i<n;i++)
  16.     {
  17.       System.out.println("*Entrez l'élément tableau 1 * n°"+(i+1)+""+" du tableau:" );
  18.       tab1[i]=sc.nextInt();
  19.     }
  20.     for(int i=0;i<m;i++)
  21.     {
  22.        System.out.println("*Entrez l'élément tableau 2 * n°"+(i+1)+""+" du tableau:" );
  23.        tab2[i]=sc.nextInt();
  24.     }
  25.     for(int i=0;i<p;i++)
  26.     {
  27.     tab3[i]=tab1[i]+tab2[i];
  28.     System.out.println("L'addtion de chaque élément de ces 2 tableaux sont: "+tab1[i]+"+"+tab2[i]+" = "+tab3[i]);
  29.     }
  30.   }
  31. }


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

  tableau outofBound

 

Sujets relatifs
[résolu] Modification valeur tableau bidimentionnel[Access] Tableau de bord
Tableau et ComptageRécupérer valeur dans un tableau avec boucle sous VBA
tableau et matriceCharger fichier txt dans tableau
[PHP] TableauRecherche d'un caractère dans un tableau et affichage d'un message
retourner un tableau 2d d une fctJavascript Selector / colonne d'un tableau
Plus de sujets relatifs à : tableau outofBound


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