Aufgabe Konstruktor Werteübergabe |
11.01.2015, 11:57 | Auf diesen Beitrag antworten » | |||||
SarahK. | Aufgabe Konstruktor Werteübergabe Meine Frage: Hey Leute, gut, dass es Euch gibt :- Ich habe die folgende Aufgabenstellung: Programmieren Sie eine Klasse Rechteck, die ein einfaches Rechteck mit einer ganzzahligen Länge und einer ganzzahligen Breite beschreibt. Die Klasse bietet nach außen folgende Schnittstellen an: - einen Konstruktor, der Länge und Breite übergeben bekommt - flaeche() gibt die Grundfläche des Rechtecks an - istQuadrat() überprüft, ob das Rechteck ein Quadrat ist. Meine Ideen: Mein Code dazu:
Mein Problem liegt darin, dass ja die Werte vom Konstruktor übergeben werden sollen. Also darf ich doch bei h.flaeche() und h.istQuadrat() doch keine Werte eingeben? Vielen Dank für die Antworten ;-) |
|||||
|
||||||
11.01.2015, 12:06 | Auf diesen Beitrag antworten » | |||||
Karlito | Genau. Die Methoden sollten die Klassenvariablen verwenden um die Fläche zu berechnen bzw. zu ermitteln, ob das Rechteck ein Quadrat ist. Lass doch einfach die Parameter weg und nimm nur die Klassenvariablen. Versuche es mal ohne dass ich Dir ein Beispiel gebe. In ca 1-2 Stunden bin ich dann wieder erreichbar, wenn euler nicht schon da war |
|||||
11.01.2015, 15:08 | Auf diesen Beitrag antworten » | |||||
SarahK. | Ich habe es jetzt mehrmals versucht, bekomme aber dann die Fehlermeldung, dass laenge und breite nicht zugeordnet werden können? |
|||||
11.01.2015, 15:25 | Auf diesen Beitrag antworten » | |||||
Karlito | Dann poste doch mal bitte deinen aktuellen Quelltext. |
|||||
Anzeige | ||||||
|
||||||
11.01.2015, 15:29 | Auf diesen Beitrag antworten » | |||||
SarahK. |
An der Klasse selber habe ich nichts verändert, nur in der main-Funktion. |
|||||
11.01.2015, 15:37 | Auf diesen Beitrag antworten » | |||||
Karlito | Du muss die Parameter in den Methoden in der Klasse weg lassen. Hier das Beispiel entsprechend bearbeitet:
Gruß, Karlito |
|||||
11.01.2015, 15:42 | Auf diesen Beitrag antworten » | |||||
SarahK. | Dankeschön :-) Darf ich fragen, wie lange du dich schon mit der Informatik befasst? Ich muss sagen, dass das Fach sehr interessant ist (aber bis die nötigsten Grundlagen einmal sitzen auch sehr komplex). |
|||||
11.01.2015, 15:54 | Auf diesen Beitrag antworten » | |||||
Karlito | Ich befasse mich seit meinem 10. Lebensjahr mit Informatik und das sind nun 21 Jahre... Dazu habe ich eine abgeschlossene Berufsausbildung als Fachinformatiker für Anwendungsentwicklung, habe zwei Jahre im Beruf gearbeitet und Studiere nun im 11. Semester Informatik (Bachelor/Master)... Und es ist immernoch interessant |
|||||
11.01.2015, 15:59 | Auf diesen Beitrag antworten » | |||||
SarahK. | Klingt super. Dann wünsche ich Dir weiterhin viel Erfolg im Studium :-) |
|||||
11.01.2015, 15:59 | Auf diesen Beitrag antworten » | |||||
Karlito | Danke ebenso |
|||||
24.01.2016, 10:01 | Auf diesen Beitrag antworten » | |||||
Mike90 | Guten Morgen, ich schließe einmal an diese Aufgabe an, da meine Aufgabenstellung recht ähnlich ist. Schreiben Sie ein Programm RechteckListe, dass 1000 Rechteck-Objekte mit zufälligen Kantenlängen im Bereich 1-10 erzeugt und diese in einem Array speichert. Aus diesen Rechtecken errechnen Sie die durchschnittliche Fläche eines Rechtecks und bestimmen, wie viele von den Rechtecken Quadrate sind. Ich habe das Programm soweit fertig, mir stellt sich nur ein "Problem": In der Klasse RechteckListe muss ich 1000 Rechteck-Objekte anlegen, nur mit einer for-Schleife (ohne Methode) funktioniert dies nicht? Und die Methode müsste ich dann eigentlich public machen? Habe sie jetzt als Zwischenlösung auf protected gesetzt Hier mein Code:
|
|||||
24.01.2016, 10:12 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Was spricht dagegen, die Methode public zu machen oder in den Konstruktor zu schreiben? Bei istQuadrat gefällt mir der counter nicht. Wenn du die Methode nochmal aufrufst, hast du da plötzlich 2 Quadrate. Setze den Rückgabewert doch auf boolean. double durchschnitt = rt[j].flaeche()/2; Was wird das denn? Du sollst die Flächen aller Rechtecke zusammenaddieren und dann durch die Anzahl teilen. |
|||||
24.01.2016, 10:48 | Auf diesen Beitrag antworten » | |||||
Mike90 | Danke für die Antwort.
Sorry, da habe ich die Aufgabe falsch gelesen. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|