Fernseher-Aufgabe (Methoden, Klassen und Objekte)

Codix

Bekanntes Mitglied
Zum Beispiel hast du anscheinend keine Ahnung, was ein Konstruktor macht.
ein Konstruktor erstellt ein Objekt. Es gibt Default-Konstruktoren(leer) und man kann eigene Konstruktoren coden (mit Werten). Wenn man keine KOnstruktoren anlegt, dann legt java automatisch einen default-Konstruktor an.

Soll wohl nicht schlecht sein. Evtl. ist es sinnvoll erst das eine und dann die anderen Kurse zu bearbeiten. Ich kann mir nicht vorstellen, dass sich die didaktischen Vorgehensweisen gut mischen lassen.
 

temi

Top Contributor
Ein Konstruktor erstellt ein Objekt. Es gibt Default-Konstruktoren(leer) und man kann eigene Konstruktoren coden (mit Werten). Wenn man keine KOnstruktoren anlegt, dann legt java automatisch einen default-Konstruktor an.
Haben hier zwei verschiedene Konstruktoren Sinn, wenn man zwei unabhängige Variablen hat?
Ist es sinnvoll, eine Initiale Lautstärke übergeben zu können?
Hättest du deine zwei Konstruktoren, wäre es dann möglich für die Erzeugung einer Instanz der Klasse, zwei Konstruktoren aufzurufen?

Na dann überleg dir doch mal, was bei der Erzeugung deines Fernseher-Objekts initialisiert werden könnte/müsste. Die Klasse Fernseher ist sozusagen der Bauplan und mit dem Konstruktor wird ein Fernseher produziert.

Das erste was klar ist, das Ding ist noch ausgeschaltet.

Du kaufst es und schaltest es ein. Was wird i.d.R. für ein Programm angezeigt?

Welche Lautstärke hat das Ding, wenn du es zum ersten Mal einschaltest?

Wie sieht dann dein Konstruktor aus?
 

Codix

Bekanntes Mitglied
Na dann überleg dir doch mal, was bei der Erzeugung deines Fernseher-Objekts initialisiert werden könnte/müsste. Die Klasse Fernseher ist sozusagen der Bauplan und mit dem Konstruktor wird ein Fernseher produziert.

Das erste was klar ist, das Ding ist noch ausgeschaltet.

Du kaufst es und schaltest es ein. Was wird i.d.R. für ein Programm angezeigt?

Welche Lautstärke hat das Ding, wenn du es zum ersten Mal einschaltest?
keine Ahnung: vllt Programm 1, Lautstärke 30 ?

[QUOTEQUOTE="temi, post: 1230834, member: 56216"]Wie sieht dann dein Konstruktor aus?[/QUOTE] k.A.
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Wenn du einen neuen Fernseher bekommst: gibst du dann an, ob dieser an oder aus ist? Oder ein Programm? Oder eine Lautstärke?
 

Codix

Bekanntes Mitglied
nein, ich gebe nicht an, ob er an oder aus, etc. ist. Deswegen kann ja der Konstruktor default sein oder wir können einen anlegen ohne Parameter.
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Ja genau, ich denke, den Punkt hast du verstanden. Und Werte kannst du so wählen, wie es in Deinen Augen Sinn macht.
 

mihe7

Top Contributor
Java:
public class TV {
    private int volume = 30;
    private boolean switchedOn;
}
In der Klasse ist kein Konstruktor definiert, daher spendiert Java der Klasse einen Standardkonstruktor. Wenn Du mit new TV() ein neues TV-Objekt erzeugst, werden das volume-Attribut auf 30 und das switchedOn-Attribut auf false gesetzt.

Den gleichen Effekt erreichst Du durch Implementierung des Standardkonstruktors:
Java:
public class TV {
    private int volume;
    private boolean switchedOn;

    public TV() {
        volume = 30;
    }
}

Den würdest Du benötigen, falls Du einen weiteren Konstruktor anbieten möchtest, der z. B. die Lautstärke entgegennimmt, die beim "Bauen des Fernsehers" eingestellt werden soll:

Java:
public class TV {
    private int volume;
    private boolean switchedOn;

    public TV() {
        volume = 30;
    }

    public TV(int volume) {
        this.volume = volume;
    }
}

Ist jetzt nicht so schwer, oder?
 

Codix

Bekanntes Mitglied
also was genau soll ich jetzt ändern? Was denkt ihr? Hier nochmals die Aufgabe:

Erstellen Sie ein Programm, das einen Fernseher als Objekt abbildet. Der Fernseher soll mindestens folgende Eigenschaften haben:

Lautstärke,

Programm und

eingeschaltet beziehungsweise ausgeschaltet.
Alle drei Eigenschaften sollen geändert werden können.
Beachten Sie bei der Umsetzung bitte folgende Vorgaben:

Eine Änderung von Lautstärke und Programm soll nur dann möglich sein, wenn der Fernseher eingeschaltet ist.

Schalten Sie den Fernseher in Ihrem Programm mindestens einmal ein und ändern Sie die Lautstärke. Wechseln Sie mindestens dreimal das Programm. Schalten Sie den Fernseher dann wieder aus.

Geben Sie nach jeder Änderung den aktuellen Zustand des Fernsehers auf der Konsole aus.

Greifen Sie nur über die Methoden der Klasse auf die Instanzvariablen zu. Das gilt auch für die Ausgabe der Werte.

===
der Code sieht bis jetzt so aus:

Java:
public class Tv{
//Methode ausgabe festlegen
     static void ausgabe(Fernseher fernseher ) {
// mit einer if-Schleife & getStatus (für das einschalten des fernsehers)
            if (fernseher.getStatus() == true) {
//ausgabe für den fernseher (ob er an oder aus ist)
                System.out.println("Der Fernseher ist an.");
            }else {
                System.out.println("Der Fernseher ist aus.");
            }
    //ausgabe für das Programm       
            System.out.println("Sie haben Programm: " + fernseher.getProgramm());
    //ausgabe für die Lautstaerke
            System.out.println("Es ist Lautstaerke " + fernseher.getLautstaerke() + " eingestellt.");     

        }
    
    //Hauptklasse main festgelegt 
    //MERKE: in der Hauptmethode werden die Zustände der Objekte verändert.
     //z.B. Programm umgeschaltet oder Lautstaerke aufgedreht, etc.
     public static void main(String[] args) {
// Konstruktor verwendet
// Das eigentliche Erzeugen der Instanz erfolgt dann mit dem Operator new.
// Dahinter geben Sie den Namen der Klasse und die runden Klammern () an.
// Die Referenz, die der Operator new liefert, weisen Sie mit dem Zuweisungsoperator der Variablen vom Typ der Klasse zu. Dabei gibt es keine Besonderheiten.
         Fernseher fernseher = new Fernseher();

        //fernseher.init(0, 0, false);                   
        //ausgabe(fernseher);

        // Zustand ändern & ausgeben
        
        //erst wird der Fernseher eingeschalten
        fernseher.setStatus(true);
        //gibt in der Konsole das ergebnis aus
        ausgabe(fernseher);
        
        //jetzt ändern man die Lautstärke auf 5
        fernseher.setProgramm(1);
        fernseher.setLautstaerke(10);
        ausgabe(fernseher);
        
        //jetzt ändern man das Programm auf 4
        fernseher.setProgramm(6);
        //gibt in der Konsole das ergebnis aus
        ausgabe(fernseher);

        //jetzt ändern man die Programm auf 5
        fernseher.setProgramm(7);
        //gibt in der Konsole das ergebnis aus
        ausgabe(fernseher);
        
        //jetzt ändern man die Programm auf 12
        fernseher.setLautstaerke(15);
        //gibt in der Konsole das ergebnis aus
        ausgabe(fernseher);
              
        //jetzt schaltet man den Fernseher aus
        fernseher.setStatus(false);
        //gibt in der Konsole das ergebnis aus
       ausgabe(fernseher);   // gibt leider keine richtige Ausgabe aus. D.h. TV ist nicht als ausgeschlatet zu sehen. 
    }

}

Java:
public class Fernseher {
    int lautstaerke, programm;
    boolean status;

    //methode init muss angewendet werden, weil s. Beschreibung:
    //wir weisen den Objekten Anfangswerte zu.
    //init = In der Programmierung die Zuweisung eines
    //Initial- oder Anfangswertes zu einem Objekt oder einer Variablen
    void init(int lautstaerke, int programm, boolean status) {
      
    }

    boolean getStatus() {
        return status;
    }

    int getLautstaerke() {
        return lautstaerke;
    }

    int getProgramm() {
        return programm;
    }

    int setLautstaerke(int setLautstaerke){

        if (status == true) {
            lautstaerke = setLautstaerke;
        }
        return lautstaerke;

    }

    int setProgramm (int setProgramm) {
        if (status == true) {
        programm = setProgramm;
        }
        return programm;
    }

    boolean setStatus(boolean setS) {
        if (setS == true) {
            status = setS;
        }
        return status;
    }
}

Konstruktor verbessern, else-Zweige weglassen, was noch? Ist die aufgabenstellung denn noch nicht erfüllt?
 

mrBrown

Super-Moderator
Mitarbeiter
Schalte den Fernseher mal ein, dann aus, änder dann die Lautstärke und lass dir den Zustand nach jedem Schritt ausgeben.
 
K

kneitzel

Gast
Die Fehler sind doch behandelt worden im Thread. Es wurden viele Punkte angemerkt die nicht von dir umgesetzt wurden.

Daher ist die Frage, woran es scheitert. Geh doch noch einmal alle Antworten im Thread durch ...
 
K

kneitzel

Gast
Und dann ist es aus meiner Sicht wichtig, dass du dir Gedanken über die Lesbarkeit machst. Code sollte sich selbst erklären.

Eine wichtige Sache ist da das Verständnis der sogenannten Problemdomain. Aber das sollte ja gegeben sein.
Also kann man sich an der Sprache orientieren:

Wie läuft das bei euch? Dein Vater fragt Dich: "Gib mir den Status vom Fernseher" und Du antwortest: "Ja"?

Ich kenne das etwas anders: "Ist der Fernseher an?" "Ja".

Da ist die Frage und die Antwort verständlich.

Siehe dazu z.B. temi in #34 und auch etwas #60.

Man kann natürlich auch Stati definieren. FernseherStatus könnte sein: AN, AUS, AN_KEIN_EINGANG, AN_TON_AUS, ...

Das wäre dann auch verständlich bei einer Frage nach dem Status (so man das möchte) ... aber halt kein ja/nein mehr als Antwort.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Fernseher programmieren mit Java Java Basics - Anfänger-Themen 4
melaniemueller Fernseher als Objekt Java Basics - Anfänger-Themen 9
Jere58 Aufgabe zu Mustern Java Basics - Anfänger-Themen 1
M Interfaces Aufgabe Java Basics - Anfänger-Themen 2
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Ich zerbreche mit den kopf an einer Aufgabe Java Basics - Anfänger-Themen 61
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
T Informatik Studium Aufgabe Java Basics - Anfänger-Themen 4
T Aufgabe Informatik Studium Java Basics - Anfänger-Themen 10
I matrix aufgabe Java Basics - Anfänger-Themen 22
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
9 Aufgabe Bruttorechner Java Basics - Anfänger-Themen 14
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
StevenGG Aufgabe im Studium Java Basics - Anfänger-Themen 36
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
J OOP-Aufgabe Java Basics - Anfänger-Themen 15
Helix19 Informatik Grundkurs (Haus-)Aufgabe Java Basics - Anfänger-Themen 5
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 2
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 9
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
C Rechnungen-Aufgabe Java Basics - Anfänger-Themen 18
C Biene-Aufgabe Java Basics - Anfänger-Themen 2
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Aufgabe Flussdiagramm, kann jemand checken? Java Basics - Anfänger-Themen 8
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
J Rekursion Klausur Aufgabe Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
T Aufgabe zum Verschlüsselungsalgorithmus Java Basics - Anfänger-Themen 11
J Erste Schritte Aufgabe Java Basics - Anfänger-Themen 24
T Methoden BinaryTree transformieren Aufgabe Java Basics - Anfänger-Themen 36
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
S Sortieralgorithmus - Aufgabe mit Lösungsidee Java Basics - Anfänger-Themen 20
A Aufgabe: Gleitkommazahlen Java Basics - Anfänger-Themen 3
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
U Aufgabe zu Kontrollstrukturen Java Basics - Anfänger-Themen 8
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
J Aufgabe als Feuertaufe Java Basics - Anfänger-Themen 8
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
H aufgabe 4 Java Basics - Anfänger-Themen 297
M Hilfe bei Projektorientierungs-Aufgabe !! Java Basics - Anfänger-Themen 3
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
H was verlangt die aufgabe ? Java Basics - Anfänger-Themen 10
H java aufgabe Java Basics - Anfänger-Themen 68
H java aufgabe Java Basics - Anfänger-Themen 25
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
R Java Aufgabe (Teilbarkeit) Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H array aufgabe Java Basics - Anfänger-Themen 13
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
H aufgabe Java Basics - Anfänger-Themen 9
H lösung aufgabe Java Basics - Anfänger-Themen 12
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
H java online aufgabe Java Basics - Anfänger-Themen 4
H Array aufgabe Java Basics - Anfänger-Themen 7
H oop aufgabe probe kalusur Java Basics - Anfänger-Themen 11
H oop aufgabe Java Basics - Anfänger-Themen 19
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
W Thread Aufgabe - Vorgehensweise Java Basics - Anfänger-Themen 8
J Problem bei Aufgabe "Geldstückelung" Java Basics - Anfänger-Themen 5
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben