Frage von JosephAltmann, 77

Java, wie kann ich sehen, ob zB array[5] schon ein wert zugewiesen wurde oder nicht?

Frage steht oben.
Btw: es handelt sich um einen int

Antwort
von PWolff, 25

Welchen Datentyp hat array?

Vermutlich einen Objekttyp (Klasse) - ein einfacher Typ hätte immer einen Wert, soweit ich weiß.

Falls Objekt:

if (array[5] != null) {...}

Kommentar von SirNik ,

es handelt sich um int-array. wird mit nullen (0) vorinitialisiert

Kommentar von PWolff ,

Dann hab ich das übersehen. (Oder es ist nachträglich eingefügt worden.)

Bei einem int[] braucht man nicht zu prüfen, ob schon ein Wert zugewiesen worden ist - das ist ja schon anlässlich der Definition passiert. (0 ist ein gültiger Integer-Wert.)

Antwort
von HardwareGuru, 44

Indem du den Wert Prüfst ?

Kommentar von JosephAltmann ,

Was meinst du? Ich will ja wissen, ob die variable schon inizialisiert wurde...

Kommentar von HardwareGuru ,

Ja du musst ja wissen wenn ein Wert drin wäre was der ungefähr sein könnte, wenn es zum beispiel ein Wert Größer 0 wäre müsstest du ja nur:

if (i<0)
Kommentar von JosephAltmann ,

Wiso?
Wenn ich zB
int[] array = new int[10]
Mache
Und es vom user abhängt ab nur bis array[5] ein wert zugewiesen wurde oder bis array[7].
Dann möchte ich fragen:
if (array[3].isInitialized == true)
Btw: den befehl gibt es nicht

Kommentar von HardwareGuru ,

Du könntest eine Methode machen die genau das Prüft

Kommentar von JosephAltmann ,

Und was muss ich in der methode prüfen?

Kommentar von HardwareGuru ,

Ob in dem Arra ein Wert ist

Kommentar von JosephAltmann ,

Egal,
Habe schon ne lösung gefunden :D
Danke trozdem

Und: das war ja meine frage, wie man prüft ob in einen array ein wert drinnen ist :D

Kommentar von JosephAltmann ,

Es geht doch nicht :O
Weißt du wie man überprüft ob ein einem array ein objekt ist ?

Kommentar von HardwareGuru ,

Ein Objekt ist nie in einem Array :D

Du musst halt wissen was da alles für werte drin sein können.

Wenn z.B. nur etwas oberhalb null drinsein kann musst du mit if prüfen ob irgendwas oberhalb null rin ist (i[3]>0)

Kommentar von JosephAltmann ,

Ich meine:
Wie prüft man ob gar nichts drinnen ist?
Also nicht 0 aber auch nicht 1-...
Oder wird die variable automatisch auf 0 gesetzt ?

Kommentar von HardwareGuru ,

es wird eben 0 voreingespeichert und dadurch kannst du wenn z.B.- eine Mögliche Benutzereingabe 0 wäre das nicht prüfen

Kommentar von SirNik ,

ein int-Array wird mit nullen (0) "vorinitialisiert".

Antwort
von Azasel, 35

For(int i = 0; i <= ArrayList.length; i++) {

if( i ==  z.B. 1){

System.out.println("");
}}

Kommentar von JosephAltmann ,

Nicht den wert des arrays sondern ob er schon inizialisiert wurde...
Danke trozdem

Kommentar von Azasel ,

Falsch sry, if ( ArrayList[i])

Kommentar von Azasel ,

Tut mir leid, hab schon lange kein Java mehr benutzt

Kommentar von JosephAltmann ,

Egal :D
Also Wenn ich zB
int[] array = new int[10]
Mache
Und es vom user abhängt ob nur bis array[5] ein wert zugewiesen wurde oder bis array[7].
Dann möchte ich fragen:
if (array[3].isInitialized == true)
Btw: den befehl gibt es nicht

Wie muss ich dan. Das mit arraylist machen ?

Antwort
von RedKungFuMastr, 25

Bei einem Array int arr[] werden alle Werte innerhalb mit 0 initialisiert. Check einfach nach ner 0...

Kommentar von JosephAltmann ,

Ok danke!

Kommentar von PWolff ,

Das geht nur dann, wenn sichergestellt ist, dass 0 kein gültiger Wert ist.

(Falls das so ist und 0 als Kennung für einen ungültigen Wert genommen wird:

stuff.maintainability -= 5;

)

Kommentar von RedKungFuMastr ,

Man kann auch über die Methode Arrays.fill(array_var, default_var), (wobei array_var das Array und default_var der zu initialisierende Wert ist), die Initialisierung festlegen.

int arr = new int[10];
Arrays.fill(arr, -1);

Die besagte Methode ist equivalent zu dem Code:

int arr = new int[10];
for(int i = 0; i < arr.length; i++)
{
   arr[i] = -1;
}

/* refresh( stuff.maintainability ); */

Keine passende Antwort gefunden?

Fragen Sie die Community