Skip to main content

Java Übung & Lösung: Entwickle ein Mahnwesen mit Objektübergabe


java programmierung übung lösung entwickle ein mahnwesen

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ührvoid 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(); //Methodenaufrufvoid 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

Java Übung & Lösung: Das erste kleine Java Spiel

java übung lösung javaspiel

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 […]

Java Anfänger Übung: Hello World

Java-Übung-Hello-World

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“ […]

Java Übung & Lösung: Bestimme die Anzahl der Tage

java übung lösung tage berechnen

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. […]

Java Übung & Lösung: Würfelspiel mit Wertspeicherung im Array

java übung lösung spiel array werte speichern

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 […]

Java Übung & Lösung: Erstelle ein Mathematik- und Rechenprogramm

java übung lösung rechenprogramm

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 […]

Unterschied zwischen Klassenvariable und Instanzvariable im Java Programm

unterschied klassenvariable instanzvariable java programmierung

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 […]

So kannst du Instanzen in Java Klassen zählen

java programmierung instanzen in java klassen zählen

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.

Java Übung & Lösung: Bestimme den größten gemeinsamen Teiler

java übung lösung größten gemeinsamen teiler bestimmen

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 […]

Java Übung & Lösung: Fakultät berechnen und ausgeben

java übung lösung fakultät berechnen ausgeben

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 – […]

Java Übung & Lösung: Kommazahlen auf x-Nachkommastellen runden

java-programmierung-kommazahlen-runden

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 – […]

Java Übung & Lösung: Gerade oder ungerade Zahlen?

java programmierung übung lösung gerade ungerade zahlen

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. […]