Java:expression must be an arrray

Bonjour,
mon prg suivante,s'affiche erreur suivante
"The type of the expression must be an array type but it resolved to int"
public class IntArray  
{ 
 public static void main (String[]args) 
 { 
  //declare an array of integers 
  int[]anArray=new int[3]; 
  //assign a value to each array element and print 
  for(int i=0;i<anArray.length[i];i++) 
  { 
   anArray[i]=i; 
   System.out.println(anArray[i]+"");    
  } 
  System.out.println(""); 
 } 
} 

la ligne 9 est:
for(int i=0;i<anArray.length[i];i++)
aidez moi svp

4 réponses

  1. J'ajoute mon grain de sel parce que, bien que les réponses apportées soient bonnes, elles n'expliquent rien (ce que je trouve contraire au principe de l'"aide").

    La raison est qu'il est nécessaire d'obtenir la longueur de anArray, d'où : anArray.length
    La notation [i] serait utilisée pour accéder au i-ème élément mais l'attribut length d'une array est de type int, donc impossible à indexer.
    1. Salut,
      //remplacer
      //for(int i=0;i<anArray.length[i];i++)
      // par
      for(int i=0;i<anArray.length;i++)
      

      Cordialement,

      Dan
      1. j'ai corrigé ainsi,est ce que ce juste?
        public class IntArray 
        {
         public static void main (String[]args)
         { 
        	 //declare an array of integers
        	 int[] anArray=new int[3];
        	 //assign a value to each array element and print
        	 for(int i=0;i<anArray.length;i++)
        	 {
        		 anArray[i]=i;
        		 System.out.println(anArray[i]+""); 		
        	 }
        	 System.out.println("");
         }
        }
        
        1. Si tu as corrigé comme je l'ai indiqué (et il semble que oui) c'est juste.

          Mais pour le savoir à coup sûr tu dois compiler et exécuter !!!