Java:expression must be an arrray

domxaline -  
 domxaline -
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

A voir également:

4 réponses

bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   861
 
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
domxaline
 
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("");
 }
}
0
Utilisateur anonyme
 
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 !!!
0
Utilisateur anonyme
 
Salut,
//remplacer
//for(int i=0;i<anArray.length[i];i++)
// par
for(int i=0;i<anArray.length;i++)

Cordialement,

Dan
0
domxaline
 
merci beaucoup
ça m'aider beaucoup
0