Eine komplizierte Sache

Diskutiere Eine komplizierte Sache im Java Basics - Anfänger-Themen Bereich.
P

Panda9296

Hey Leute ich komme bei dieser Aufgabe einfach nicht weiter...könnte mir jemand erklären was ich genau machen muss und wie ich es umsetze bzw. was genau ist am folgenden Code falsch...:

Um eine genauere Suche nach bestimmten Zugangscodes zu ermöglichen, soll zwischen Zugangscodes, die von Eike bereits während der Entführung genutzt wurden sowie bisher ungenutzten Zugangscodes unterschieden werden.

Erstelle in der Klasse Robot zwei ArrayLists usedAccessCodes und unusedAccessCodes, die Objekte vom Typ AccessCode aufnehmen.

Füge der Klasse Robot anschließend eine Methode saveCodes() hinzu. Diese soll eine ArrayList als Parameter annehmen, die Objekte vom Typ AccessCode annimmt. Die Funktion soll durch alle Elemente der übergebenen Liste iterieren und, falls das Attribut used eines Elementes true ist, das entsprechende Element der Liste usedAccessCodes hinzufügen. Andernfalls soll es der Liste unusedAccessCodes hinzugefügt werden. [Tipp: Die Anzahl der Elemente in einer ArrayList kann mit der Methode size() abgefragt werden.]



Füge der Klasse Robot anschließend ein weiteres Attribut codeHashMap hinzu. Dieses soll eine HashMap sein, welche die ArrayList usedAccessCodes mit unter dem Schlüssel “used” und die ArrayList unusedAccessCodes unter dem Schlüssel “unused” abspeichert. Diese Zuweisung der bereits vorher angelegten Attribute soll in der Methode buildHashMap() geschehen.

Code:
import java.util.ArrayList;

class Story {

    public static void main(String[] args) {
        ArrayList<AccessCode> accessCodes = new ArrayList<>();
        AccessCode code1 = new AccessCode("Federvieh", true);
        AccessCode code2 = new AccessCode("e.vil", true);
        AccessCode code3 = new AccessCode("Haifischbecken", false);
        AccessCode code4 = new AccessCode("2A2A", false);
        accessCodes.add(code1);
        accessCodes.add(code2);
        accessCodes.add(code3);
        accessCodes.add(code4);
        
        Robot ronja = new Robot();
        ronja.saveCodes(accessCodes);
        ronja.buildHashMap();
    }
}
Code:
import java.util.ArrayList;
import java.util.HashMap;

class Robot
{

ArrayList<AccessCode>usedAccessCodes= new ArrayList<>();
ArrayList<AccessCode>unusedAccessCodes= new ArrayList<>();
HashMap<String key, ArrayList a>codeHashMap = new HashList<>();
        
void saveCodes(ArrayList used)
{
    for(int i = 0; i <ArrayList.size();i++)
    {
        if(used)
        {
            usedAccessCodes.add(Code);
        }
        else if(!used)
        {
            unusedAccessCodes.add(Code);
        }
    }
}
void buildHashMap()
{
    codeHashMap.put(usedAccessCodes("used"));
    codeHashMap.put(unusedAccessCodes("unused"));
    
}
}
Code:
class AccessCode {

    private String code;
    private boolean used;

    AccessCode(String code, boolean used) {
        this.code = code;
        this.used = used;           
    }

    public String getCode() {
        return code;
    }

    public boolean getUsed() {
        return used;
    }
}
Hinweis die Klasse AccessCode ist fix genau wie Story i.d.R. fix ist es geht um robot
 
J

JustNobody

Dann schauen wir uns doch einfach einmal die von Dir geschriebene Methode an:
Code:
void saveCodes(ArrayList used)
{
    for(int i = 0; i <ArrayList.size();i++)
    {
        if(used)
        {
            usedAccessCodes.add(Code);
        }
        else if(!used)
        {
            unusedAccessCodes.add(Code);
        }
    }
}
Hier sind viele Dinge, die direkt auffallen.
a) "Diese soll eine ArrayList als Parameter annehmen, die Objekte vom Typ AccessCode annimmt." -> Das ist also genau so wie die beiden Member Variablen, die erstellt wurde. Der Part mit dem "die Objekte vom Typ AccessCode annimmt." fehlt halt noch.
b) Wenn Du eine ArrayList<> used hast: Wie kommst Du an alle Elemente heran? Was bietet diese Klasse denn? Wie kannst Du das heraus finden?
c) Die Elemente sind vom Typ AccessCode - wie kannst Du prüfen, ob die schon benutzt wurden?
 
Thema: 

Eine komplizierte Sache

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben