Java Übung & Lösung: Entwickle ein Mahnwesen mit Objektübergabe
Schlagwörter: Java Instanzen, Java Übungen


In dieser Java Übung geht es um Mahnungen.
Ja, Mahnungen zu Rechnungen.
Und zwar möchte ich, dass du ein kleines Programm anlegst.
Was genau soll passieren?
Du legst zwei Konstruktoren an.
Der erste Konstruktor soll zwei Parameter entgegen nehmen.
Die Mahnstufe und die Mahngebühr.
Dies sind gleichzeitig die Instanzvariablen der Klasse.
Der zweite Konstruktor nimmt ein Objekt entgegen.
Im Rumpf erhöht sich die Mahnstufe um eins und die Mahngebühr um 5.
Außerdem soll eine Methode die entsprechende Konsolenausgabe zur Mahnstufe und Mahngebühr erzeugen.
Und zwar soll diese Methode bei jedem neu erstellten Objekt ausgeführt werden.
In der main Methode erstellst du ein Objekt und übergibst diesen die Mahnstufe eins und die Mahngebühr 5.
Das zweite und dritte Objekt wird mit dem zweiten Konstruktor (Objekt-Konstruktor) erzeugt.
Lass dir alle drei Konsolenausgaben anzeigen.
Ich wünsche dir viel Spaß beim Lösen dieser Java Übung.
Los geht’s
Als erstes die Klasse, die Instanzvariablen und der erste Konstruktor.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
public Mahnung (){
this.mahnStufe=1; //Zuweisung der Mahnstufe
this.mahnGebuehr=5;//Zuweisung der Mahngebühr
}
}
Dann legst du die Instanzmethode, zu den Infos, an.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
public Mahnung (){
this.mahnStufe=1; //Zuweisung der Mahnstufe
this.mahnGebuehr=5;//Zuweisung der Mahngebühr
}
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
}
Da diese Methode bei jeder Objekterschaffung angeschmissen werden soll…
Macht es Sinn diese in den Konstruktor einzupflegen.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
public Mahnung (){
this.mahnStufe=1;
this.mahnGebuehr=5;
gibInfo(); //Methodenaufruf
}
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
}
Es wird so langsam Zeit für das erste Objekt
Lass uns den Programmstart testen.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
public Mahnung (){
this.mahnStufe=1; //Zuweisung der Mahnstufe
this.mahnGebuehr=5;//Zuweisung der Mahngebühr
gibInfo();
}
public static void main(String[] args) {
Mahnung ersteMahnung = new Mahnung(); //erstes Objekt
}
}
In der main Methode erschaffst du das erste Objekt und übergibst diesem die angebenden Werte eins und fünf.
Oder du machst es wie ich.
Du weist im default-Konstruktor Standardwerte zu.
Klicke auf Run und los geht’s.
Alles gut? 🙂
Dann lass uns den zweiten Konstruktor anlegen
Laut Aufgabenstellung soll dieser ein Objekt bekommen.
Und dann soll er die Instanzvariablen entsprechend erhöhen.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
public Mahnung (){
this.mahnStufe=1; //Zuweisung der Mahnstufe
this.mahnGebuehr=5;//Zuweisung der Mahngebühr
gibInfo();
}
public Mahnung (Mahnung erste){
this.mahnGebuehr=erste.mahnGebuehr+5;//Bei jedem Aufruf erhöhung um 5
this.mahnStufe=erste.mahnStufe+1; //Bei jedem Aufruf Erhöhung um 1
gibInfo();
}
public static void main(String[] args) {
Mahnung ersteMahnung = new Mahnung(); //erstes Objekt wird erstellt
}
}
Na dann zum zweiten und dritten Objekt.
Jetzt übergibst du als Argument das erste Objekt.
Und dann das zweite, das dritte usw.
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
public Mahnung (){
this.mahnStufe=1;
this.mahnGebuehr=5;
gibInfo();
}
public Mahnung (Mahnung erste){
this.mahnGebuehr=erste.mahnGebuehr+5;
this.mahnStufe=erste.mahnStufe+1;
gibInfo();
}
public static void main(String[] args) {
Mahnung ersteMahnung = new Mahnung();
Mahnung zweiteMahnung = new Mahnung(ersteMahnung);//Objekt ersteMahnung wird übergeben
Mahnung dritteMahnung = new Mahnung(zweiteMahnung);//Objekt zweiteMahnung wird übergeben
}
}
Und läuft?
PS:
Von einem aufmerksamen Leser wurde ich darauf hingewiesen, dass der erste Konstruktor schon zwei Werte bekommen sollte. (Laut meiner Aufgabenstellung)
In meiner Lösung kommt aber dieser Teil gar nicht vor.
Ich habe lediglich einen default-Konstruktor und den, welcher Objekte entgegennimmt.
Danke an Christian für den Hinweis.
So würde die richtige Lösung aussehen:
public class Mahnung {
double mahnGebuehr;
int mahnStufe;
void gibInfo(){
System.out.println("Mahnstufe: "+mahnStufe+" , Mahngebühr: "+mahnGebuehr+" Euro");
}
public Mahnung (){
this.mahnStufe=1;
this.mahnGebuehr=5;
gibInfo();
}
public Mahnung(int mahnStufe, int mahnGebuehr){ //neuer Konstruktor
this.mahnStufe=mahnStufe;
this.mahnGebuehr=mahnGebuehr;
gibInfo();
}
public Mahnung (Mahnung erste){
this.mahnGebuehr=erste.mahnGebuehr+5;
this.mahnStufe=erste.mahnStufe+1;
gibInfo();
}
public static void main(String[] args) {
Mahnung ersteMahnung = new Mahnung(1,5);//Konstruktor bekommt die Werte übergeben
Mahnung zweiteMahnung = new Mahnung(ersteMahnung);//Objekt ersteMahnung wird übergeben
Mahnung dritteMahnung = new Mahnung(zweiteMahnung);//Objekt zweiteMahnung wird übergeben
}
}
Ähnliche Beiträge
Schlagwörter: Java Instanzen, Java Übungen
In dieser Java Übung geht es um Objekte und es geht um Referenzvariablen. Es geht um den Zugriff auf Java Objekte durch mehr als eine Referenzvariable. Erstelle dazu eine Java Klasse, namens „ReferenzTest“. Dieser Klasse führt drei Instanzvariablen a, b und c, vom Datentyp Integer.
Schlagwörter: Java Arrays, Java Übungen
Die ist die zweite Java Übung zu Java Arrays.
Schlagwörter: Java Instanzen, Java Klasse, Java Methoden, Java Programmierung
In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich […]
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung, Java Variablen
Ja, ich fange sämtliche Artikel so an. Und du weißt es mittlerweile. Aber die Java Klassen stellen Baupläne für die Objekte dar, welche du erschaffen willst. Und in so einem Bauplan oder einer Gebrauchsanweisung brauchst du zwingend bestimmte Eigenschaften. Ich habe dir ja im letzten Artikel gezeigt, wie du eine […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es darum ein kleines Java-Spiel zu erstellen. Und zwar Zahlen raten. Was kannst du dir darunter vorstellen? Du gibst einen bestimmten Wertebereich an. Zum Beispiel 0 bis 100. Und das Java Programm erstellt eine Zufallszahl in diesem Bereich. Dann fordert dich das Programm auf, die […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es darum, dass du mittels Schleifen, Zahlen umkehrst. Was meine ich damit? Die Zahl 71 umgekehrt, ergibt die Zahl 17. Und genau so ein kleines Java Programm sollst du jetzt schreiben.
Schlagwörter: Java Programmierung, Java Übungen
Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. […]
Schlagwörter: Java Instanzen, Java Speicherverwaltung
Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere. Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt. Ja wieso braucht Java eigentlich zwei Speichersysteme? […]
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung
Lass uns jetzt ein paar Java Objekte erstellen. Im letzten Beitrag habe ich dir gezeigt, was nötig ist um ein Java Programm überhaupt zu starten. Ich habe dir gezeigt, wie du eine zweite Klasse anlegst und die main Methode implementierst. Du hast gesehen, dass die Anweisung, welche wir in die […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es noch einmal um das switch case statement.
Schlagwörter: Java Instanzen, Java Klasse, Java Vererbung
Java Vererbung hat nichts mit Biologie zu tun. Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen. Solche Merkmalsausprägungen sind: die Hautfarbe die Haarfarbe die spezifische Größe und weitere körperliche Merkmale. Und in Java – was ist da Vererbung? Lass es uns herausfinden. Was erwartet dich […]
Schlagwörter: Java Instanzen, Java Methoden, Java Übungen
In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { […]
Schlagwörter: Java Datentyp, Java Schleifen, Java Übungen
In dieser Java Übung werden wir uns die Zeichen des Character Datentypen näher anschauen. Die einzelnen Zeichen sollen auf der Konsole ausgegeben werden. Und wie? Das ganze sollst du mit einer For Schleife machen. Erstelle deshalb eine Klasse „CharZeichen“. In dieser Klasse implementierst du dann eine Klassenmethode, namens „gibZeichen“. Und […]
Schlagwörter: Java Instanzen, Java Klasse, Java Übungen
In dieser Java Übung, wirst du ein Objekt erstellen.
Schlagwörter: Java Instanzen, Java Konstruktor, Java Programmierung
Du kannst deinen Java Konstruktoren auch Objekte übergeben. Bisher haben wir in der Parameterliste lediglich primitive Datentypen übergeben.
Schlagwörter: Java Methoden, Java Übungen
Ein wesentlicher Bestandteil im Konzept der objektorientierten Programmierung ist die Datenkapselung. Und um Datenkapselung soll es in dieser Java Übung gehen.
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll […]
Schlagwörter: Java Instanzen, Java Programmierung
Auf Java Objekte greifst du mit einer Art Fernsteuerung zu. Diese bezeichnet man als Referenz oder als Verweis. Und diese Referenzvariablen möchte ich dir jetzt einmal vorstellen. Doch bevor wir loslegen, lass mich noch ein paar Dinge loswerden. Ich habe es ja schon einmal in einem früheren Beitrag erwähnt. Java […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher […]
Schlagwörter: Java Übungen, Java Variablen
In dieser Java Übung soll der Unterschied zwischen Instanz- und Klassenvariablen demonstriert werden. Außerdem werde ich dir den Zugriff über Methoden zeigen.
Schlagwörter: Java Instanzen, Java Klasse, Java Programmierung, Java Variablen
Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied zwischen […]
Schlagwörter: Java Instanzen, Java Klasse, Java Vererbung
Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte […]
Schlagwörter: Java Arrays, Java Übungen
Diese umfangreiche Java Übung ist eine weitere Übung zu Java Arrays. Ich habe dafür schon ein kleines Beispiel vorbereitet. Gegeben ist ein Array, welches Integer Werte speichert.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung geht es um die Wertübergabe in Java Methoden. Schau dir bitte diesen Java Code einmal an und überlege dir, welche Bildschirmausgabe erzeugt wird. Welchen Wert hat die Klassenvariable x?
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich den Inhalt der letzten Lektionen wiederholen. Ich möchte den Unterschied zwischen Klassen- und Instanzmethoden und zwischen Variablen demonstrieren.
Schlagwörter: Java Instanzen, Java Methoden, Java Programmierung
Du ahnst es. Im letzten Artikel hast du von mir erfahren, wie du ein Java Objekt erstellst und wie du dann auf die Instanzvariablen des Objektes zugreifen kannst. So kannst Instanzmethoden für deine Java Objekte nutzen Bei den Instanzmethoden funktioniert es auch so. Du erschaffst beliebig viele Java Objekte und […]
Schlagwörter: Java Strings, Java Übungen
In dieser Java Übung möchte ich, dass du ein Programm erstellst, welches ein eingegebenes Passwort kontrolliert.
Schlagwörter: Java Instanzen, Java Speicherverwaltung
Java Objekte leben genau solange, wie eine Referenzvariable auf sie zeigt. Wenn dieser Zeiger nicht mehr existiert, wird dieses Objekt aufgeben. Und wenn dieses Objekt erst einmal aufgegeben wurde, dann kommt der Garbage Collector und entsorgt dieses. Aber wie kannst du nun am Sinnvollsten Objekte aufgeben? Lass es uns herausfinden.
Schlagwörter: Java Instanzen, Java Programmierung
Wie werden aus deinen Java Klassen richtig nützliche Java Objekte? Das ganze läuft in vier Phasen ab. Und diese Phasen möchte ich dir in diesem Beitrag vorstellen. Ob das nützlich ist? Schau dir das Bild an. Am Ende dieses Beitrages wirst du wissen, warum Eclipse dir hier eine Fehlermeldung gibt […]
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung lernst du, wie du in Java Arrays anlegst.
Schlagwörter: Java Instanzen, Java Klasse
Wie kannst du die Instanzen der Java Klassen zählen? Ganz einfach. Am besten ist es, wir bleiben beim Einführungsbeispiel zu den Java Klassen. Und ich wähle die Klasse „Monster“. Um es einfach zu halten, soll auch der Programmstart durch die Klasse erfolgen. Die Klasse bietet somit eine main-Methode an.
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es um Schleifen. Und zwar möchte ich, dass du eine virtuelle Geldruckmaschine erstellst. Was meine ich damit? Du gibst in der Konsole einen x-beliebigen Betrag ein und das Programm gibt dir virtuelle Geldscheine zurück. Ein Beispiel: Du gibst die Zahl 400 ein. Dann liefert dir […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom […]
Schlagwörter: Fakultät, Java Übungen
In dieser Java Übung geht es um die Fakultät aufeinander folgender Zahlen. Für alle, bei denen der Mathe-Unterricht genauso lange her ist, wie bei mir: Die Fakultät ist das Produkt aufeinander folgender natürlicher Zahlen. Zum Beispiel: Die Fakultät von 2 ist: 1*2=2 Die Fakultät von 5 ist: 1*2*3*4*5=120 So – […]
Schlagwörter: Java Instanzen, Java Klasse
Die Instanzierung von Java Klassen verhindern. Was heißt das? Instanzen sind die Objekte einer Java Klasse. Und Instanzieren oder Instanzierung heißt nichts anderes, als Objekterstellung. Aber was soll das? Oder mal anders gefragt: Wieso sollte man verhindern, dass eine Java Klasse – Objekte erstellen kann? Schließlich sind doch Objekte der […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode zum Zählen von Kommastellen schreibst. Lege dazu eine Klasse „KommaZahl“ an. Diese Klasse enthält die statische Methode „zaehleKommaStellen“, welche eine Kommazahl als übergebenen Parameter erwartet.
Schlagwörter: Java Übungen
In dieser Java Übung sollst du mit Hilfe des switch case Statements die Eintrittspreise für ein Rockkonzert bestimmen lassen.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich mit dir zusammen den Flächeninhalt eines Rechteckes berechnen. Zur Erinnerung der Flächeninhalt wird berechnet, indem du die Länge mit der Breite multiplizierst.
Schlagwörter: Java Operatoren, Java Übungen
In dieser Java Übung geht es darum, die letzte Ziffer einer Zahl zu finden. Was meine ich damit? Die letzte Stelle der Zahl 278 ist acht. Die letzte Stelle der Zahl 5432 ist zwei.
Schlagwörter: Java Übungen
In dieser Java Übung geht es um Zahlen. Um genau zu sein…. Es geht um gerade und ungerade Zahlen. Zur Erinnerung. Gerade Zahlen sind Zahlen, welche durch zwei teilbar sind. Ungerade Zahlen sind alle Zahlen, welche nicht glatt durch zwei teilbar sind. Ich möchte, dass du eine Klasse „GeradeZahlen“ anlegst. […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es vor allem um Bildschirmeingaben. Du wirst lernen, wie du Konsoleneingaben einliest und diese in Methoden einfließen lassen kannst.