Methoden für was eine set zur get - Methode ??

Dopa

Mitglied
Hallo, im Buch: Programmieren lernen mit Java: Aktuell zu Java 7 - Keine Vorkenntnisse erforderlich: Amazon.de: Hans-Peter Habelitz: Bücher hat es eine Aufgabe :

Erstellen sie eine Klasse mit dem Namen Kreis. Die Klasse soll nur eine Datenelement (Attribut) mit dem Namen radius verfügen, indem der Radius als Kommazahl festgehalten wird. Erstellen Sie einen Konstruktor mit leerer Parameterliste, der den Radius mit dem Wert 0 initialisiert, und einen Konstruktor, dem als Parameter eine Kommmazahl zur Initialisierung des Radius übergeben wird. Als Methoden soll die Klasse verfügen über:

Java:
double getRadius();
set Radius(double r);
double getUmfang();
double getFlaeche();

Erstellen Sie dazu ein Testprogramm mit dem Namen Kreistest, das mit einem JOptionPane.showInputDialog den Radius eines Kreises einliêst und anschliessend durch Aufruf der drei Methoden den Radius, den Umfang und die Fläche des Kreises in der Konsole (mit System.out.println) ausgibt.

umfang = 2.0 * 3.1415926 * radius;
flaeche = 3.1415926 * radius * radius;

Die Lösung ist :

Kreis.java:

Java:
package uebung06;

/*
 * Klasse Kreis
 * Hans-Peter Habelitz
 * 2011-12-21
 */

public class Kreis {
    double radius;

    Kreis() {
	radius = 0;
    }

    Kreis(double r) {
	radius = r;
    }

    double getRadius() {
	return radius;
    }

    void setRadius(double r) {
	radius = r;
    }

    double getUmfang() {
	return 2 * Math.PI * radius;
    }

    double getFlaeche() {
	return Math.PI * radius * radius;
    }

    void setUmfang(double u) {
	radius = u / (2 * Math.PI);
    }

    void setFlaeche(double f) {
	radius = Math.sqrt(f / Math.PI);
    }
}

und Kreisberechnung.java:

Java:
package uebung06;

/*
 * Programm Kreis zum Testen der Klasse Kreis
 * Hans-Peter Habelitz
 * 2011-12-21
 */

import javax.swing.JOptionPane;

public class Kreistest {
    public static void main(String[] args) {
	String kreisradius, einheit;
	double r;
	kreisradius = JOptionPane
		.showInputDialog("Geben Sie einen Kreisradius ein:");
	einheit = JOptionPane.showInputDialog("Geben Sie die Maßeinheit ein:");
	r = Double.parseDouble(kreisradius);
	Kreis k = new Kreis(r);
	System.out.println("Kreisradius: " + k.getRadius() + " " + einheit);
	System.out.println("Umfang: " + k.getUmfang() + " " + einheit);
	System.out.println("Fläche: " + k.getFlaeche() + " " + einheit
		+ '\u00b2');
    }

}

1.) Wieso braucht es überhaupt eine set-Methode?

Weil ohne die set funktioniert das Programm genauso..

Dachte zuerst jede get-Methode brauchst eine set-Methode?

2.) Rechnet der Compiler automatisch um? Die Schreibweise ist etwas verwirrend...warum nicht u = ..... ?

Java:
void setUmfang(double u) {
	radius = u / (2 * Math.PI);
 

turtle

Top Contributor
Dachte zuerst jede get-Methode brauchst eine set-Methode?
Nein.

Viele IDEs bieten an, automatisch getter/setter zu generieren und da werden häufig beide Varianten gewählt, obwohl das nicht immer sinnvoll ist.

Dadurch werden Objekte mutable, also veränderlich. Dies ist in gewissen Situationen aber unpraktisch.

Daher sind beispielsweise die Wrapper-Klassen wie Integer, Double auch immutable (nicht veränderlich) und haben keine setter-Methoden, weil es komisch ist, wenn ein Integer(4) gemacht wird, diese Zahl aber später zu einer Fünf mutiert.
 

Dopa

Mitglied
aber ganz verstanden hab ichs nicht...(zu objektorientiert) & Wrapper-Klassen kommen erst 40 Seiten später :) werde evtl darauf zurückkommen demnächst
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
G return-wert für eine Methode Java Basics - Anfänger-Themen 1
O Timeout für eine Methode festlegen Java Basics - Anfänger-Themen 3
maddin86 Eine Methode für ein- und zweidimensionale double Felder als Parameter? Java Basics - Anfänger-Themen 5
B Eine Methode für alle Subklassen aufrufen? Java Basics - Anfänger-Themen 8
M Brauche ein Beispiel für eine set() get() Methode Java Basics - Anfänger-Themen 4
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
O Iterator für eine geordnete Menge Java Basics - Anfänger-Themen 134
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
S Switch-Case für eine Array-Zuordnung Java Basics - Anfänger-Themen 5
M Ist es möglich den Login in eine Drittseite für den eigenen zu benutzen? Java Basics - Anfänger-Themen 1
TomatenBrot447 Adapter für eine optimierte Multiplikation Java Basics - Anfänger-Themen 5
B Wie sieht die Formel für eine Rechtecksschwingung aus? Java Basics - Anfänger-Themen 5
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
N Zeit berechnen, die für eine Strecke benötigt wird Java Basics - Anfänger-Themen 3
L Kapselung Benutzerinterface für eine Liste Java Basics - Anfänger-Themen 3
J für eine java klausur Java Basics - Anfänger-Themen 5
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
H Erste Schritte 2 User Interfaces für eine Anwendung Java Basics - Anfänger-Themen 7
L Zeichen für Zeichen eine Datei ändern Java Basics - Anfänger-Themen 2
R Gibt es eine (Schnittstelle) für .ini Datei Formatierungen? Java Basics - Anfänger-Themen 8
L Eine Art HashMap für inkonsistente Objekte Java Basics - Anfänger-Themen 5
P Interfaces -> eins oder mehrere für eine Anwendung? Java Basics - Anfänger-Themen 9
G Framework für eine Flexible Oberfläche! Java Basics - Anfänger-Themen 9
H ist eine "neue Session" für Mail möglich? Java Basics - Anfänger-Themen 3
A brauche eine Lösung für Problem bei Moorhuhn-Version Java Basics - Anfänger-Themen 5
C Ideen für eine Schularbeit mit J++ Java Basics - Anfänger-Themen 13
M Zwei Lösungsvorschläge für eine Aufgabenstellung gesucht Java Basics - Anfänger-Themen 3
V Tastatur Abfrage im Lisener für eine Auswahl üder Textfeld Java Basics - Anfänger-Themen 8
G Methoden für eine Administrationsverwaltung Java Basics - Anfänger-Themen 16
P Suche Namen für eine Komponente Java Basics - Anfänger-Themen 13
T Methoden für GUI in eine andere Klasse Java Basics - Anfänger-Themen 2
F Gibt es eine Datenstruktur für Koordinaten x, y? Java Basics - Anfänger-Themen 8
B eine billige frage, für mich leider jedoch nicht Java Basics - Anfänger-Themen 16
B Pfad für eine externe Klasse Java Basics - Anfänger-Themen 4
F Welche Component für eine Worklist Java Basics - Anfänger-Themen 5
T mehrere Konstruktoren für eine Klasse Java Basics - Anfänger-Themen 7
K Welche Datenstruktur für eine Bibliotheksanwendung? Java Basics - Anfänger-Themen 5
D Erklärung für eine Abfrage. Java Basics - Anfänger-Themen 9
D Eine Erklärung für eine 3D-Schleife bitte. :) Java Basics - Anfänger-Themen 4
G die Logik für eine Buchung! Java Basics - Anfänger-Themen 3
L "Standartcode" für eine GUI-Anwendung?? Java Basics - Anfänger-Themen 5
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 3
G Icon für App Java Basics - Anfänger-Themen 1
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben