2012-04-01 8 views
1

Angenommen, ein int [] wird übergeben, und ich habe Funktion f (int [] Array), wenn ich nicht die Länge des Array kennen, wie kann ich es ausführen Stück für Stück? oder gibt es einen besseren Weg? DankWie ein int [] Chunk von Chunk

+1

Sie kennen die Länge des Arrays, es ist 'array.length' - Vielleicht meinen Sie" Wie viele Elemente wurden mit einem anderen Wert als 0 initialisiert? " – amit

+0

Gibt es eine Änderung die Größe des Arrays ist größer als Integer.Max_VALUE? –

+1

Die Größe des Arrays darf nicht größer sein als 'Integer.MAX_VALUE' – amit

Antwort

3

In Java können Sie die Länge des Arrays aus dem Array erhalten, indem Sie einfach mit:

int theArrayLength = array.length; 
+0

Gibt es Änderungen, die Größe des Arrays ist größer als Integer.Max_VALUE? –

+0

@ Jeffrey Nein. Da Sie Arrays mit Ints indexieren, wäre das etwas nutzlos;) – Voo

1

java nicht weiß, auch die arraya.length?

0

Sie können die Länge eines Arrays in Java finden von

tun
array.length 
2

Was meinst du mit „sie ausführen“ und „Chunk Chunk“? Sie können immer mit einem Index über das Array iterieren.

for(int i = 0; i < array.length; i++) { 
    bar(array[i]); 
} 
2
  1. Prüfen, ob das Array null ist, und wenn ja, eine Ausnahme auslösen (zB IllegalArgumentException)
  2. Verwenden verbesserte for-Schleife

Beispiel -

void f(int[] array){ 
    if(array == null){ 
     throw new IllegalArgumentException(); 
    } 

    for(int arrayItem : array){ 
     // iterate through array chunk-by-chunk 
    } 
} 

Mit diesem Ansatz können Sie das Array Chunk-by-Chunk durchlaufen, ohne th zu kennen Die Länge des Arrays.