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;
}




TheQ86  22.04.2016, 20:05

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.

christi12345  22.04.2016, 20:08
@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

triopasi  22.04.2016, 20:08

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

SuperSocke2 
Beitragsersteller
 22.04.2016, 20:03

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 ?

christi12345  22.04.2016, 20:06
@SuperSocke2

dann nimmst du halt nur:

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

       if(array[i] != null){

       nicht leer
       }

       leer
     }



triopasi  22.04.2016, 20:01

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.)