Array abfragen ob er leer ist - Java?

2 Antworten

Probiere mal folgenden Code (ist nicht getestet oder so, einfach schnell runtergeschrieben):

public static int[] merge(int[] A, int[] B)

{
// O = output array
int[] O = new int[A.length + B.length];
int a = 0;
int b = 0;
int o = 0;

for(int o = 0; o < O.length; o++)
{
if(a < A.length && A[a] >= B[b] || b >= B.Length)
O[o++] = A[a++];
else if(b < B.length && A[a] <= B[b] || a >= A.length)
O[o++] = B[b++];
}

return O;
}

 public static boolean isEmpty(){

for(int i=0; i< array.length;i++){

       if(array[i] =! null){
       return true;
       }
     }

      return false;
}



Ist hier overkill, wenn man bedenkt, was er programmieren will. (Gibt 2 bessere Möglichkeiten. Entweder immer nur das Element prüfen was du grad brauchst oder mit einem Sentinel.)

0

ich bin eine "sie" 

das ist ja dann eine ganz neue Methode. ich hab ja schon eine Methode und in die will ich die Bedingung reinschreiben.

wie könnte es denn noch anders gehen ?

0
@SuperSocke2

dann nimmst du halt nur:

for(int i=0; i< array.length;i++){

       if(array[i] != null){

       nicht leer
       }

       leer
     }



0

Boolshit.
Deine Funktion hat keinen Parameter.

array[i] =! null ist invalide Syntax

Selbst wenn du != null meintest, wäre es die falsche Logik. Denn wenn das Array-Item ungleich null wäre, hätte es einen Wert. Dann dürfte isEmpty aber auch nicht true zurückgeben.

Du iterierst außerdem über ein Array dessen Länge dir bekannt ist. Der einfachste Weg wäre zu prüfen, ob array.length == 0 ist.

1
@TheQ86

ich lege aber am Anfang ein Array mit einer bestimmten Länge fest, daher sollte length immer ungleich 0 sein.

sorry für den =! Fehler, habs nur kopiert

0

Poste uns mal was du schon hast, dann kann man dir eher helfen. Ich glaub du denkst es sei schwerer als es eigentlich ist.

0