Skip to main content

Java Übung – Entwickle eine 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

So kannst du Java Arrays anlegen

Java Arrays anlegen

Java Arrays– Was ist das? Stell es dir einmal als ein Bücherregal vor. In einem Bücherregal befinden sich sämtliche Bücher. Und diese befinden sich schön nebeneinander. Jedes Buch hat seinen festen Platz. Du kannst die Bücher ganz genau lokalisieren. Zum Beispiel kannst du sagen. Das erste Buch von links Das dritte von rechts usw. Und […]

So kannst du ein Java Programm starten und Argumente übergeben

Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was ist aber vor der main-Methode. […]

So kannst du in drei einfachen Schritten Java Arrays dynamisch vergrößern

Java Arrays vergrößern

Es ist der 31.März 1727. Es ist ein Montag. Die Welt nimmt Abschied von einem sehr bedeutenden Weltveränderer. Seine Sichtweisen beeinflussen, heute noch, die Forschung und Entwicklung im Bereichen der Physik und Chemie. Ja selbst unser aller Leben – unsere Sicht auf die alltäglichen Dinge – wurden durch seine Denkstöße revolutioniert. Dieser große Vorreiter starb […]

So kannst du deine Eclipse Oberfläche anpassen

Eclipse anpassen

In diesem Beitrag möchte ich dir zwei ganz nette Features von Eclipse vorstellen. Es geht um Views und um Perspektiven. Wie du schon weißt, besteht Eclipse aus einer grafischen Oberfläche. Und in dieser Oberfläche stehen dir verschiedene Views zur Verfügung. Was ist so ein View?

So kannst du gelöschte Java Projekte oder Dateien in Eclipse wieder herstellen

Wahrscheinlich passiert es jedem einmal, dass man versehentlich Dateien löscht. Und dann? Die Wut ist riesig, weil man ja alles nochmal schreiben muss. In Eclipse hast du die Möglichkeit sämtliche Dateien wieder herzustellen. In diesem Beitrag möchte ich dir demonstrieren, wie du gelöschte Java Klassen, Dateien, Projekte oder Packages wieder herstellen kannst.

Lassen wir Java rechnen – Die Rechenoperationen für Variablen

Java rechnen

Ich liebe Mathe. In der Biographie „Der Mann, der die Zahlen liebte“, stellt Paul Hoffmann das Mathematikgenie Paul Erdös vor. Erdös war eines der größten Genies des 20 Jahrhunderts. Er arbeitete mit zahlreichen Wissenschaftlern zusammen und verfasste durchschnittlich mehr Publikationen im Jahr, als andere Mathematiker im ganzen Leben. Da Erdös sich mit sehr vielen Theoremen […]

Java Übung: Alles beginnt mit 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“ public class HelloWorld{ public static […]

So erstellst du deine ersten Java Klassen mit Eclipse

Java Klassen sind Baupläne für Java Objekte. Und da Java eine objektorientierte Programmiersprache ist, sind Java Klassen somit ein elementarer Bestandteil. In diesem Beitrag möchte ich dir zeigen, wie du eine Java Klasse in Eclipse erstellen kannst. Ich möchte dir außerdem zeigen, was physikalisch in deinem Projekt passiert. Ganz zum Schluss zeige ich dir noch, […]