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. 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 !!!
    2. Salut,
      //remplacer
      //for(int i=0;i<anArray.length[i];i++)
      // par
      for(int i=0;i<anArray.length;i++)
      

      Cordialement,

      Dan