JAVA Verzweiflung?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
(...) und ich soll den Grundaufbau nehmen und was eigenes hinzuprogrammieren (...)

Zuerst solltest du wissen, was der derzeitige Code tut, danach solltest du dir darüber Gedanken machen, welche Anforderungen das Programm noch erfüllen soll und diese auch formulieren. Letzterer Schritt erst einmal nicht in Java, sondern in Stichpunkten (alles abseits des Codes): Wie lautet die Anforderung und wie kann das Verhalten beschrieben werden? So lange nicht klar ist, was wann, wie, wo, passieren soll, kannst du kaum anfangen.

Im Folgeschritt kannst du damit beginnen, die formulierten Anforderungen schrittweise zu beschreiben. Sei es mit einem Programmablaufplan, einem Struktogramm, in Pseudocode oder wieder Stichpunkten. Das Ergebnis lässt sich später einfacher in Java übersetzen.

Allerdings habe ich 0 Ahnung wie das ganze Funktioniert (...)

Die Klasse auf deinem Screenshot soll eine Waschmaschine beschreiben, die ein Interface ITuWas implementiert. Schau einmal, wie dieses Interface konkret definiert ist oder definiert sein soll. Wenn es keines gibt / geben soll, wirf es raus oder erstelle ein eigenes, leeres:

public interface ITuWas {
}

Wenn es eines gibt, sollten die Methoden, die es definiert, in der Klasse Waschmaschine implementiert werden.

Die Waschmaschine hat vier Tasten. Anhand ihrer Benamung sollte deutlich sein, was sie auslösen sollen. Da hier allerdings ein Mischmasch aus deutschen und englischen Bezeichnern zu sehen ist, würde ich dazu raten, einige Elemente neu zu benennen. Einheitlich, in einer Sprache. Bei deutschen Bezeichnern würde ich dazu raten, Umlaute umzuformen (z.B. aus ä wird ae). Außerdem wäre es gut, auch beim Schreibstil konsistent zu sein. Entweder starten alle Variablen mit einem Kleinbuchstaben (das wäre die übliche Java-Konvention) oder mit einem Großbuchstaben.

Fast alle Tasten werden im Konstruktor definiert. Man sieht schon, dass sie offensichtlich so auch gezeichnet werden. Schau in deine Unterlagen, dort findest du ganz sicher eine konkrete Erklärung, was bspw. jedes einzelne Argument bei

new Taste(...)

bedeutet.

Die boolsche Variable run dürfte ebenfalls im Zweck verständlich sein. Sie zeigt an, ob die Waschmaschine gerade läuft oder nicht. Es würde übrigens vollkommen ausreichen, den primitiven Datentyp boolean (statt die Wrapperklasse Boolean) zu verwenden.

Außerdem sind da noch die ersten drei Zeilen im Konstruktor, die noch etwas unlogisch erscheinen. Zum einen haben diese Initialisierungen keinen Datentyp, den musst du noch ergänzen. Vielleicht sollen es aber Felder (Instanzvariablen) sein, dann müsstest du diese Variablen so wie die Tasten anlegen. Das ist schon so ein Punkt, wo es wie gesagt wichtig wäre, die Anforderungen zu klären.

(...) und da meine 2 Partner nix machen (...)

Stimm dich mit ihnen ab, mache Druck. Das ist eine Teamarbeit. Wenn das nicht klappt, kannst du dich nur an deinen Lehrer wenden.

Andererseits muss ich sagen, dass die Aufgabe nicht für drei Leute geeignet scheint. Es ist doch nicht viel zutun. Die Waschmaschine zu zeichnen, dürfte kein großer Aufwand sein. Viereck, Kreis, ein paar Dreiecke für die Tasten und schon ist man fertig. Dann kommen die Events für die Tasten, die irgendetwas auslösen sollen.

Ihr solltet wohl nicht separat in euren dunklen Kämmerchen an der Aufgabe arbeiten, sondern besser via Video-/Audiochat. Besprechungsmöglichkeiten gibt es genügend. Teams, Skype, ... einer von euch teilt seinen Bildschirm und los gehts.

(...) kann ich ja nichtmal austesten, wie die Klasse des Lehrers funktioniert, da mir die Animation und der Grundbau fehlt. (...)

Das sehe ich nicht so. Zumindest für einige Tasten benötigst du die Waschmaschine gar nicht (z.B. für die Musiktaste oder für den An-/Ausschalter). Die übrigen Punkte müssten noch geklärt werden.