Informatik BlueJ Modellierung etc?
Ich brauche unbedingt Hilfe...in der schule haben wir mit BlueJ und so angefangen, am Anfang hab ich es noch kapiert, aber jetzt hab ich absolut keinen plan mehr
wir schreiben auch bald eine Klausur...wir sollen eine Kreuzung mit 4 Ampeln programmieren, die je nachdem aus welcher Richtung man kommt, irgendwie andersfarbig ist...in der Schule hab ich abgetippt, was uns gesagt wurde, aber ich muss es schließlich auch fertig machen und bin völlig aufgeschmissen. Hier ein Bild, damit ihr wisst, wo ich stehe, was ich überhaupt mache, etc...
(Spielwalzen sind die Ampeln und ich weiß, dass ich Fehler in dem Quelltext hab)
Ich bin dankbar für jede Hilfe!!
1 Antwort
1) Rücke deinen Code richtig ein (bzw. deine geschweifte Klammer). BlueJ markiert dir die einzelnen Blöcke bereits farbig, sodass du siehst, was zu welchem Block gehört.
2) Bleib konsistent. Alle Parameter beginnen mit einem Kleinbuchstaben, nur Richtung tut es nicht. Bei einem einheitlichen Code fällt das Lesen leichter, denn du kannst anhand der Schreibweise Rückschlüsse auf das Element ziehen. Elemente, die mit einem Kleinbuchstaben beginnen, sind beispielsweise stets Variablen.
Wieso du einzelne Elemente (Klassen, Felder) komplett in Großbuchstaben schreibst, weiß ich nicht. Vielleicht ist das deine von dir selbst definierte Konvention. Üblich wäre (nach Java Konvention) eine Großschreibung aber eigentlich nur bei sichtbaren Klassenkonstanten.
3) Bei der Definition von SW1 siehst du, was für SW2 fehlt.
4) Bei einer Funktionsdefinition kann in der Parameterliste nur eine Auflistung von Datentyp und Parametername stattfinden. Du kannst keine Methodenaufrufe o.ä. einbringen. Vergleiche die Parameterlisten von AMPEL und zeichne, dann siehst du, was bei letztgenanntem falsch ist.
5) Überlege noch einmal genauer, was zeichne machen soll. Eine Summe aus der undefinierten Variable x und y berechnen und zurückgeben? Das passt jedenfalls nicht zum Namen der Methode, der etwas anderes verspricht.
6) Du hast soweit noch keine Anwendungsfälle definiert, die berücksichtigt werden müssen und dazu auch keine Regeln, wie sich die Ampel bei diesen verhalten soll. Das solltest du tun, bevor du es in Java-Code umzusetzen versuchst.
Ein grobes Beispiel, damit du weißt, was ich meine: Wenn ich ein Programm zur Koordination einer Straßenkreuzung schreiben müsste, müsste ich mir auch überlegen, was an dieser Kreuzung passieren kann. Verschiedene Fahrzeuge mit verschiedenen Zielen können aufeinandertreffen und die müssen sich dabei auch an verschiedene Verkehrsregeln halten, damit es nicht kracht. Demzufolge gibt es beispielsweise einen Anwendungsfall, bei dem ein Auto nach links möchte und auf das entgegenkommende Fahrzeug warten muss, weil dieses Vorfahrt hat.
Jeder Anwendungsfall muss bekannt / definiert sein und bedarf einer korrekten Behandlung. So lange das noch nicht geplant wurde, lässt sich auch kein Lösungsweg (Algorithmus) entwickeln.
Dankeschön! Ich werde mein Bestes geben! Und das mit dem Großschreiben, was du erwähnt hattest, hat unser Lehrer uns so beigebracht. 🤷🏼♀️