Erste Schritte Ist es der erste Schleifendurchlauf?

Textsurfer

Mitglied
Hallo und Frohe Weihnachten ,

Kleine Aufgabe die ich nicht verstehe:Siehe Struktogramm

Lokale Variable regionen als Arraylist von regionen als Arraylist von Regionen deklarieren und initialisieren.
Über alle Anlagen vom Klassenatrribut anlagen gehen

Ist es der erste Schleifendurchlauf? Wie kann ich das bei eine Arraylist machen ?

Vielen Dank
 

Anhänge

  • IMG_7954.JPG
    IMG_7954.JPG
    2,6 MB · Aufrufe: 54
Hallo Textsurfer,

ich verstehe die Aufgabe so, dass bei Aufruf des Programms zunächst geschaut wird, ob die ArrayList das erste Mal durchlaufen wird. Das ist genau dann der Fall, wenn die Klasse mit der ArrayList initialisiert wird. In diesem Fall ist die ArrayList leer und es muss erstmal ein Objekt dort abgelegt werden, ein Vergleich ob dieses Objekt vorhanden ist entfällt, bei einer leeren Liste gibt es kein Objekt.
Man kann mit nameArrayList.size() die Länge der ArrayList abfragen
Code:
nameArrayList.size() ==0
gibt genau dann true zurück, wenn die Listte leer ist, also wird mit einer if-Bedingung darauf abgefragt.

Gruß

Ottilie
 
Vielen Dank für schnelle Antwort.

Das habe ich bis jetzt gemacht aber Ihr braucht die ganze Aufgabe damit ihr mir weiterhelfen könnt .....


public ArrayList getAlleVersorgungteRegionen(){

ArrayList regionen = new ArrayList();

for(int i = 0 ; i > anlage.size() ; i++){
}
if( anlage.size() == 0){

regionen +=anlage.get(i);


} else {

boolean isDoppelt=false;
for (int i = 0 ; i<regionen.size();i++){
if (regionen..getBez()== Region.getBez()){

isDoppelt = true ;
break ;
} if (isDopplet = false ){

regionen.add(region);

}


In Netbeans kommen viele Fehler raus.-)

Gruß
 
@Textsurfer
Wenn du schon ArrayList benutzt, dann nutze doch die Methoden, welche dir zu Verfügung stehen.
Java:
public class Regional
{

    public static void main(String[] args)
    {
        Region regionA = new Region("Region A", 11111);
        Region regionB = new Region("Region B", 22222);
        Region regionC = new Region("Region C", 33333);

        DataBank db = new DataBank();
        db.addToRegionList(regionA);
        db.addToRegionList(regionB);
        System.out.println(db.length());
        System.out.println(db.isDoppelt(regionB)); //Zaehler
        db.addToRegionList(regionB); //Eintrag existiert bereits
        System.out.println(db.length());
        db.addToRegionList(regionC);
        System.out.println(db.length());
        System.out.println("Gesuche: " + db.getAnzahlSchleifenDurchlauf());
        System.out.println(db.isDoppelt(regionC));//Zaehler
        System.out.println("Gesuche: " + db.getAnzahlSchleifenDurchlauf());
    }

}
/** Konsolenausgabe */
2
true
Eintrag existiert bereits
2
3
Gesuche: 1
true
Gesuche: 2
ArrayList https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
Für dich interessanten Methoden: size(); contains(Object o);
Eine statische Instanzvariable ist sehr nützlich, wenn es darum geht, etwas zu zählen.
 

Zurück
Oben