# Rückgabewert nach If-Abfrage aus Array



## trial_and_error (12. Sep 2022)

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 (12. Sep 2022)

trial_and_error hat gesagt.:


> 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 (13. Sep 2022)

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 (13. Sep 2022)

trial_and_error hat gesagt.:


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


----------

