Die Aufgabe Lautet:
Schreiben Sie eine Klasse Mietwohnung. Diese soll folgende Attribute besitzen:
-Eine Adresse (Straße, PLZ, Ort)
-Die Größe in Quadratmetern
-Die Kaltmiete pro Monat
-Die Nebenkosten pro Monat
-Die Information, ob ein Balkon vorhanden ist oder nicht Außerdem bietet die Klasse die folgenden Methoden:
-Eine Hilfsmethode, um die monatliche Warmmiete (Kaltmiete + Nebenkosten) zu errechnen und zurückzugeben. Diese Hilfsmethode sollte als einzige von außen nicht aufrufbar sein.
-Jährliche Warmmiete errechnen und zurückgeben.
-Ausgabe aller Informationen zu einem Objekt
Achten Sie bei der Implementierung auf folgendes:
1. Es sollte mindestens zwei Konstruktoren geben (überlegen Sie welche sinnvoll sein könnten und begründen Sie Ihre Wahl
2. Beachten Sie die Regeln der Datenkapselung!
3. Schreiben Sie ein Hauptprogramm, um die Klasse zu testen. In Ihrem Test sollten Sie verschiedene Objekte erzeugen, initialisieren und die Informationen der Objekte auf den Bildschirm ausgeben.
Außerdem
Erweitern Sie Ihre Klasse Mietwohnung um ein Attribut, welches die Anzahl aller vorhandenen Mietwohnungen (angelegten Objekte) beinhaltet. Überlegen Sie an welcher Stelle Sie diesen Zähler hochzählen müssen. Schreiben Sie auch eine Klassenmethode, die diese Anzahl ausgibt und testen Sie diese Erweiterung in Ihrem Hauptprogramm. Schreiben Sie für diese Aufgabe kein neues Programm sondern erweitern Sie das Programm aus und Laden Sie das eine vollständige Programm hoch.
ich habe schon etwas versucht und komme nicht weiter:
package miethaus;importjava.io.*;publicclassHaupt{publicstaticvoidmain(String argv[]){BufferedReader input;int num_mieter, count =0;String eingabe;Wohnungen wg =newWohnungen();try{System.out.print("Ist die Wohnung '"+wg.getName()+"' bereits vermietet ? (j/J oder n/N) > ");
input =newBufferedReader(newInputStreamReader(System.in));
eingabe = input.readLine();while(count < num_mieter){Mieter m =newMieter();System.out.print("\nBitte geben Sie den Namen für den "+(count+1)+".ten Mieter/in ein: ");
eingabe = input.readLine();
m.setName(eingabe);System.out.print("In welcher Straße haben Sie bisher gewohnt? ");
eingabe = input.readLine();
m.setStrasse(eingabe);System.out.print("Bitte geben Sie den bisherigen Wohnort , sowie zugehörige Postleitzahl an: ");
eingabe = input.readLine();
m.setOrtPlz(eingabe);System.out.println((count+1)+". Mieter:");System.out.println(m);System.out.println("-----------------");
count++;}}catch(IOException ioe){System.err.println("Fehler beim Einlesen von der Standardeingabe");}catch(NumberFormatException nfe){System.err.println("Ungültiges Format bei Eingabe der Daten");}}}
Ja das ist wohl wahr, ich bin mir sicher an meinem Hauptprogramm ist einiges falsch aber ich weiss nicht genau was es ist .
Dannoch die Berechnungen bsp. Kaltmiete Nebenkosten kann ich die in der Hauptklasse machen oder wo muss sie hin?
Die Klasse existiert bei dir nicht. (Bzw. heißt falsch)
Wo kommt die Klasse Wohnung her? Was hat die mit der Aufgabenstellung zu tun?
Die Berechnung der bzgl. der Kaltmiete soll doch ganz klar in die Klasse Mietwohnung. Das heißt, dort soll es Methoden zur Berechnung der monatlichen und jährlichen Warmmiete geben.
Sinnvoll wäre es sich erst mal genau an die Aufgabenstellung zu halten:
Die Klasse existiert bei dir nicht. (Bzw. heißt falsch)
Wo kommt die Klasse Wohnung her? Was hat die mit der Aufgabenstellung zu tun?
Die Berechnung der bzgl. der Kaltmiete soll doch ganz klar in die Klasse Mietwohnung. Das heißt, dort soll es Methoden zur Berechnung der monatlichen und jährlichen Warmmiete geben.
ja das stimmt hab ich abgeändert nun die sache ist jedoch, es ist ja nichts angegeben also das ich mit scanner arbeite ist schon richtig oder?
und wie mach ich das den dann mit der kaltmiete das ich es berechnen lasse?
ja das stimmt hab ich abgeändert nun die sache ist jedoch, es ist ja nichts angegeben (kosten oder Preise)also das ich mit scanner arbeite ist schon richtig oder?
und wie mach ich das den dann mit der kaltmiete das ich es berechnen lasse?
Schreib doch mal die Rechnung auf und schreib dann eine Methode in deiner Klasse miethaus, die die Berechnung vornimmt.
Bzgl. Scanner oder Benutzereingaben sehe ich überhaupt nichts in der Aufgabenstellung. Du sollst einfach Objekte erzeugen, aber da steht nix von Tastatureingabe
Schreib doch mal die Rechnung auf und schreib dann eine Methode in deiner Klasse miethaus, die die Berechnung vornimmt.
Bzgl. Scanner oder Benutzereingaben sehe ich überhaupt nichts in der Aufgabenstellung. Du sollst einfach Objekte erzeugen, aber da steht nix von Tastatureingabe
Ich hatte das mit meinen Tutor besprochen und er meinte Mit einem Scanner wäre es in Ordnung wegen den Objekten ist nun die Klasse Mietwohnungen Kompletter Müll oder kann ich es stehen lassen?
kannst du mir etwas mehr Tipps oder Ansatzpunkte geben?
Ich hatte das mit meinen Tutor besprochen und er meinte Mit einem Scanner wäre es in Ordnung wegen den Objekten ist nun die Klasse Mietwohnungen Kompletter Müll oder kann ich es stehen lassen?
kannst du mir etwas mehr Tipps oder Ansatzpunkte geben?
Entspricht nicht der Aufgabenstellung. Arbeite die in Ruhe von oben nach unten durch.
Diese soll folgende Attribute besitzen:
-Eine Adresse (Straße, PLZ, Ort)
-Die Größe in Quadratmetern
-Die Kaltmiete pro Monat
-Die Nebenkosten pro Monat
-Die Information, ob ein Balkon vorhanden ist oder nicht
Sie soll genau diese Attribute haben - nicht mehr und nicht weniger.
Die Hälfte fehlt bei dir, das Attribut warmmiete ist falsch und soll es nicht. Das ganze Geraffel mit removeMieter (der Name ist Unfug) - entfernen. Das ist nicht Bestandteil der ersten Aufgabe. Löse erstmal die erste Aufgabe, bevor irgendwelche Dinge einbaust die nicht zur ersten Aufgabe gehören.
Nachtrag - wie viele Konstruktoren hat deine Klasse? Wie viel soll sie laut Aufgabe haben? Es wird hier keiner die Aufgabe für dich machen. Und momentan hapert es bei dir am Grundverständnis oder du bist zu überhastet.
Deswegen der Hinweis - Arbeite die Aufgabenstellung Zeile für Zeile ab.
Entspricht nicht der Aufgabenstellung. Arbeite die in Ruhe von oben nach unten durch.
Sie soll genau diese Attribute haben - nicht mehr und nicht weniger.
Die Hälfte fehlt bei dir, das Attribut warmmiete ist falsch und soll es nicht. Das ganze Geraffel mit removeMieter (der Name ist Unfug) - entfernen. Das ist nicht Bestandteil der ersten Aufgabe. Löse erstmal die erste Aufgabe, bevor irgendwelche Dinge einbaust die nicht zur ersten Aufgabe gehören.
Nachtrag - wie viele Konstruktoren hat deine Klasse? Wie viel soll sie laut Aufgabe haben? Es wird hier keiner die Aufgabe für dich machen. Und momentan hapert es bei dir am Grundverständnis oder du bist zu überhastet.
Deswegen der Hinweis - Arbeite die Aufgabenstellung Zeile für Zeile ab.