2015-03-02 18 views
11

sotto è il mio codice che sta gettando errore:Come trovare dimensioni array di interi in Java

Cannot invoke size() on the array type int[] 

Codice:

public class Example{ 
int[] array={1,99,10000,84849,111,212,314,21,442,455,244,554,22,22,211};  
public void Printrange(){ 

for (int i=0;i<array.size();i++){ 
    if(array[i]>100 && array[i]<500) 
{ 
System.out.println("numbers with in range ":+array[i]); 
} 


} 

Anche ho provato con array.length() anche gettare lo stesso errore. Quando ho usato lo stesso con string_name.length() sta funzionando bene.

Perché non funziona per un array intero?

+2

array.length ... – Eran

+0

Le matrici non hanno un metodo size(). Hanno un campo di lunghezza. http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html –

+2

questa domanda è stata necessaria? .. –

risposta

18

La lunghezza di un array è disponibile come

int l = array.length; 

La dimensione di un List è disponibili come

int s = list.size(); 
0

Non esiste un metodo chiamata size() con array. è possibile utilizzare array.length

0

Array ha

array.length 

mentre Lista ha

list.size() 

Sostituire array.size() al array.length

0
public class Test { 

    int[] array = { 1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554, 
      22, 22, 211 }; 

    public void Printrange() { 

     for (int i = 0; i < array.length; i++) { // <-- use array.length 
      if (array[i] > 100 && array[i] < 500) { 
       System.out.println("numbers with in range :" + array[i]); 
      } 
     } 
    } 
} 
2

intero array non contiene qualsiasi dimensione() o lunghezza() metodo. Prova il codice qui sotto funzionerà. ArrayList contiene il metodo della dimensione. La stringa contiene la lunghezza(). Dal momento che si è abituati int array [], quindi sarebbe array.length

public class Example { 

    int array[] = {1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554, 22, 22, 211}; 

    public void Printrange() { 

     for (int i = 0; i < array.length; i++) { 
      if (array[i] > 100 && array[i] < 500) { 
       System.out.println("numbers with in range" + i); 
      } 
     } 
    } 
} 
0

possiamo trovare la lunghezza dell'array utilizzando array_name.length attributo

int [] i = i.length;

0

Penso che tu sia confuso tra size() e length.

(1) Il motivo per cui la dimensione ha una parentesi è perché la classe della lista è List ed è un tipo di classe. Quindi la classe List può avere la dimensione del metodo().

(2) Il tipo di matrice è int [] ed è un tipo primitivo. Quindi possiamo usare solo la lunghezza

Problemi correlati