Problème tableau[i][j]

Résolu/Fermé
Potame137 Messages postés 32 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 17 août 2020 - Modifié le 13 juin 2018 à 08:40
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 13 juin 2018 à 08:45
Bonjour,

j'ai un problème avec mon programme et je ne trouve pas de solution ! le but du programme et de crée un tableau [ i ][ j ] i étant des type de bonbon et j les vente mensuelles. le problème est que le programme me demande le type de bonbon et le mois puis il ne ce passe pu rien .

Donner le type de bonbon 0et le mois de la colonne0:12
Donner le type de bonbon 0et le mois de la colonne1:13
Donner le type de bonbon 0et le mois de la colonne2:14
Donner le type de bonbon 0et le mois de la colonne3:24
Donner le type de bonbon 0et le mois de la colonne4:44
Donner le type de bonbon 0et le mois de la colonne5:22
Donner le type de bonbon 1et le mois de la colonne0:31
Donner le type de bonbon 1et le mois de la colonne1:24
Donner le type de bonbon 1et le mois de la colonne2:11
Donner le type de bonbon 1et le mois de la colonne3:13
Donner le type de bonbon 1et le mois de la colonne4:34
Donner le type de bonbon 1et le mois de la colonne5:21
Donner le type de bonbon 2et le mois de la colonne0:44
Donner le type de bonbon 2et le mois de la colonne1:12
Donner le type de bonbon 2et le mois de la colonne2:13
Donner le type de bonbon 2et le mois de la colonne3:24
Donner le type de bonbon 2et le mois de la colonne4:24
Donner le type de bonbon 2et le mois de la colonne5:25
Donner le type de bonbon 3et le mois de la colonne0:26
Donner le type de bonbon 3et le mois de la colonne1:22
Donner le type de bonbon 3et le mois de la colonne2:16
Donner le type de bonbon 3et le mois de la colonne3:15
Donner le type de bonbon 3et le mois de la colonne4:14
Donner le type de bonbon 3et le mois de la colonne5:13
donner le numéro du mois
4


 public static void main(String[] args) {
         
         int [][] bonbon = new int [4] [6];
         int rep1,M;
       
                        
         Scanner lectureClavier = new Scanner(System.in); 
         
                 
         for (int i = 0; i < 4; i++)
             for (int j = 0; j < 6; j++)
             {
                 System.out.print("Donner le type de bonbon " + i + "et le mois de la colonne" + j + ":" );
                 bonbon [i][j] = lectureClavier.nextInt();
             }
         System.out.println("donner le numéro du mois");
         M=lectureClavier.nextInt();
         rep1 = foncb(bonbon,M);
         System.out.println("nombre de bonbon vendues pendant le mois" +M+ "  :" +rep1);
         
         System.out.println("donner le type de bonbon : ");
         M=lectureClavier.nextInt();
         rep1 = foncc(bonbon,M);
         System.out.println("nombre de bonbon" +M+ "vendues pendant le semestre :" +rep1);
                
  
         rep1 = foncd(bonbon);
         System.out.println("nombre de bonbon vendues pendant le semestre :" +rep1);
     
     }
   
         

        
 public static int foncb(int bonbon [][],int j)
     {int t = 0;
         for (int i=0; i<42; i++)
             t= t+bonbon[i][j];
                  return t;
     }
     
      
 public static int foncc(int bonbon [][],int i)
     {int t = 0;
            for (int j=0; j<6; j++)
             t= t+bonbon[i][j];
                  return t;
     }  
      public static int foncd(int bonbon [][])
     {int t = 0;
         for (int i=0; i<4; i++)
         {for (int j=0; j<6; ++j)
             t= t+bonbon[i][j];
         }
                  return t;
     }
}

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
13 juin 2018 à 08:45
Bonjour,

"puis il ne ce passe pu rien"
Même pas une grosse erreur, genre ArrayIndexOutOfBoundsException ?
Parce que tu fais une boucle i qui va de 0 à 42 pour accéder aux cases [i][j] d'un tableau de taille [4][6] donc au moment où tu arrives à i=4 le programme plante... et il devrait t'afficher une erreur.
0