Rückgabewert nach If-Abfrage aus Array

trial_and_error

Neues Mitglied
Hallo,

ich habe folgendes Codefragment, welches ein logischerweise mit 0 initialisiertes, mehrdimensionales Array durchsuchen soll. 0 steht hierbei für freie Felder. Diese sollen, wenn ein neues Feld angelegt werden soll, durch den Index+1 ersetzt werden, sozusagen als laufende Nummer.

public static void insertNew(int [][] array) {
for (int indexAussen=0; indexAussen<array.length; indexAussen++) {
if (array[indexAussen][0]==0);
array[indexAussen][0]=(indexAussen+1);
System.out.println(array[indexAussen][0]);}
}

Im Test als void mit einer Ausgabe dessen, was gemacht wurde, funktioniert es. Nun soll aber der Wert auch nach Aufruf der Methode als int an der Stelle im Array bestehen bleiben und auch nur EIN leeres Feld beschriftet werden.

Jemand ne Idee, wie ich die lokale Variable überbrücken kann (also dass es ab dem Return nicht mehr zur Fehlermeldung kommt) und gleichermaßen, wie ich die if-Abfrage stoppe, sobald das erste Feld mit 0 gefunden ist?

Danke!
 

Blender3D

Top Contributor
Hallo,

ich habe folgendes Codefragment, welches ein logischerweise mit 0 initialisiertes, mehrdimensionales Array durchsuchen soll. 0 steht hierbei für freie Felder. Diese sollen, wenn ein neues Feld angelegt werden soll, durch den Index+1 ersetzt werden, sozusagen als laufende Nummer.
Das mach keinen Sinn. Überlege Dir was Du möchtest noch einmal genau ....
 

Jw456

Top Contributor
Also dein if macht gar nichts denn du hast gleich danach ein ;
Benutze geschweifte Klammern für den Code der bei true ausgeführt werden soll.

In demn Code gibst du jedem Feld egal ob es null ist oder nicht den Wert index+1 das willst du eigentlich nicht.
 

Jw456

Top Contributor
Jemand ne Idee, wie ich die lokale Variable überbrücken kann (also dass es ab dem Return nicht mehr zur Fehlermeldung kommt) und gleichermaßen, wie ich die if-Abfrage stoppe, sobald das erste Feld mit 0 gefunden ist?
Was meist du damit?
Du willst also die for Schleife verlassen wenn eine 0 gefunden wurde.
Dann schaue dir mal break an.
Aber wie gesagt benutze einen Block{} für das if.
 

Neue Themen


Oben