Aufgabe 3d ausgeführt.

This commit is contained in:
schrom01 2021-11-25 15:44:45 +01:00
parent 8a618b52cf
commit f8e32967de
5 changed files with 116 additions and 236 deletions

View File

@ -5,15 +5,10 @@ import java.util.List;
* Diese Klasse speichert Informationen eines Autos.
* @author Marc Rennhard
*/
public class Auto
public class Auto extends Motorfahrzeug
{
private String modell;
private int preis;
private int stueckzahl;
private int leistung;
private int plaetze;
private boolean vierradantrieb;
private List<Verkauf> verkaeufe;
/**
* Konstruktor, um ein Auto zu erzeugen.
@ -22,77 +17,19 @@ public class Auto
* @param stueckzahl Die verfuegbare Stueckzahl
* @param leistung Die Leistung in PS
* @param plaetze Die Sitzplaetze
* @param abs Ob das Auto Vierradantrieb hat
* @param Ob das Auto Vierradantrieb hat
*/
public Auto(String modell, int preis, int stueckzahl, int leistung, int plaetze, boolean vierradantrieb)
{
this.modell = modell;
this.preis = preis;
this.stueckzahl = stueckzahl;
this.leistung = leistung;
super(modell, preis, stueckzahl, leistung);
this.plaetze = plaetze;
this.vierradantrieb = vierradantrieb;
verkaeufe = new ArrayList<Verkauf>();
}
/**
* Kaufe das Auto in der gewuenschten Stueckzahl.
* @param anzahl Die gewuenschte Stueckzahl
* @param kunde Der Kunde
* @return Informationen ueber das Ergebnis des Kaufs
*/
public String kaufen(int anzahl, Kunde kunde)
{
if (anzahl <= stueckzahl) {
stueckzahl -= anzahl;
Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis);
verkaeufe.add(verkauf);
return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis));
} else {
return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell);
}
}
/**
* Liefert das Modell des Autos.
* @return Das Modell
*/
public String gibModell()
{
return modell;
}
/**
* Setzt den Preis des Autos.
* @param preis Der Preis
*/
public void setzePreis(int preis)
{
if (preis > 0) {
this.preis = preis;
}
}
/**
* Setze die verfuegbare Stueckzahl des Autos.
* @param stueckzahl Die Stueckzahl
*/
public void setzeStueckzahl(int stueckzahl)
{
if (stueckzahl >= 0) {
this.stueckzahl = stueckzahl;
}
}
/**
* Liefert die Leistung des Autos.
* @return Die Leistung
*/
public int gibLeistung()
{
return leistung;
}
/**
* Liefert die Anzahl Sitzplaetze des Autos.
@ -112,16 +49,5 @@ public class Auto
return vierradantrieb;
}
/**
* Gibt Informationen des Autos zurueck.
* @return Informationen des Verkaufs
*/
public String gibInfo() {
String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis);
resultat += "Bereits erfolgte Verkaeufe:\n";
for (Verkauf verkauf : verkaeufe) {
resultat += verkauf.gibInfo() + "\n";
}
return resultat;
}
}

View File

@ -5,13 +5,9 @@ import java.util.List;
* Diese Klasse speichert Informationen eines Fahrrads.
* @author Marc Rennhard
*/
public class Fahrrad
public class Fahrrad extends Fahrzeug
{
private String modell;
private int preis;
private int stueckzahl;
private int gaenge;
private List<Verkauf> verkaeufe;
/**
* Konstruktor, um ein Fahrrad zu erzeugen.
@ -22,61 +18,8 @@ public class Fahrrad
*/
public Fahrrad(String modell, int preis, int stueckzahl, int gaenge)
{
this.modell = modell;
this.preis = preis;
this.stueckzahl = stueckzahl;
super(modell, preis, stueckzahl);
this.gaenge = gaenge;
verkaeufe = new ArrayList<Verkauf>();
}
/**
* Kaufe das Fahrrad in der gewuenschten Stueckzahl.
* @param stueckzahlKaufen Die gewuenschte Stueckzahl
* @param kunde Der Kunde
* @return Informationen ueber das Ergebnis des Kaufs
*/
public String kaufen(int anzahl, Kunde kunde)
{
if (anzahl <= stueckzahl) {
stueckzahl -= anzahl;
Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis);
verkaeufe.add(verkauf);
return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis));
} else {
return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell);
}
}
/**
* Liefert das Modell des Fahrrads.
* @return Das Modell
*/
public String gibModell()
{
return modell;
}
/**
* Setzt den Preis des Fahrrads.
* @param preis Der Preis
*/
public void setzePreis(int preis)
{
if (preis > 0) {
this.preis = preis;
}
}
/**
* Setze die verfuegbare Stueckzahl des Fahrrads.
* @param stueckzahl Die Stueckzahl
*/
public void setzeStueckzahl(int stueckzahl)
{
if (stueckzahl >= 0) {
this.stueckzahl = stueckzahl;
}
}
/**
@ -87,17 +30,5 @@ public class Fahrrad
{
return gaenge;
}
/**
* Gibt Informationen des Fahrrads zurueck.
* @return Informationen des Verkaufs
*/
public String gibInfo() {
String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis);
resultat += "Bereits erfolgte Verkaeufe:\n";
for (Verkauf verkauf : verkaeufe) {
resultat += verkauf.gibInfo() + "\n";
}
return resultat;
}
}

83
src/Fahrzeug.java Normal file
View File

@ -0,0 +1,83 @@
import java.util.ArrayList;
import java.util.List;
public class Fahrzeug {
private String modell;
private int preis;
private int stueckzahl;
private List<Verkauf> verkaeufe;
public Fahrzeug(String modell, int preis, int stueckzahl) {
this.modell = modell;
this.preis = preis;
this.stueckzahl = stueckzahl;
verkaeufe = new ArrayList<Verkauf>();
}
/**
* Kaufe das Fahrzeug in der gewuenschten Stueckzahl.
* @param anzahl Die gewuenschte Stueckzahl
* @param kunde Der Kunde
* @return Informationen ueber das Ergebnis des Kaufs
*/
public String kaufen(int anzahl, Kunde kunde)
{
if (anzahl <= stueckzahl) {
stueckzahl -= anzahl;
Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis);
verkaeufe.add(verkauf);
return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis));
} else {
return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell);
}
}
/**
* Liefert das Modell des Fahrzeugs.
* @return Das Modell
*/
public String gibModell()
{
return modell;
}
/**
* Setzt den Preis des Fahrzeugs.
* @param preis Der Preis
*/
public void setzePreis(int preis)
{
if (preis > 0) {
this.preis = preis;
}
}
/**
* Setze die verfuegbare Stueckzahl des Fahrzeugs.
* @param stueckzahl Die Stueckzahl
*/
public void setzeStueckzahl(int stueckzahl)
{
if (stueckzahl >= 0) {
this.stueckzahl = stueckzahl;
}
}
/**
* Gibt Informationen des Fahrzeugs zurueck.
* @return Informationen des Verkaufs
*/
public String gibInfo() {
String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis);
resultat += "Bereits erfolgte Verkaeufe:\n";
for (Verkauf verkauf : verkaeufe) {
resultat += verkauf.gibInfo() + "\n";
}
return resultat;
}
}

19
src/Motorfahrzeug.java Normal file
View File

@ -0,0 +1,19 @@
public class Motorfahrzeug extends Fahrzeug{
private int leistung;
public Motorfahrzeug(String modell, int preis, int stueckzahl, int leistung) {
super(modell, preis, stueckzahl);
this.leistung = leistung;
}
/**
* Liefert die Leistung des Motorfahrzeugs.
* @return Die Leistung
*/
public int gibLeistung()
{
return leistung;
}
}

View File

@ -5,14 +5,9 @@ import java.util.List;
* Diese Klasse speichert Informationen eines Motorrads.
* @author Marc Rennhard
*/
public class Motorrad
public class Motorrad extends Motorfahrzeug
{
private String modell;
private int preis;
private int stueckzahl;
private int leistung;
private boolean abs;
private List<Verkauf> verkaeufe;
/**
* Konstruktor, um ein Motorrad zu erzeugen.
@ -24,72 +19,10 @@ public class Motorrad
*/
public Motorrad(String modell, int preis, int stueckzahl, int leistung, boolean abs)
{
this.modell = modell;
this.preis = preis;
this.stueckzahl = stueckzahl;
this.leistung = leistung;
super(modell, preis, stueckzahl, leistung);
this.abs = abs;
verkaeufe = new ArrayList<Verkauf>();
}
/**
* Kaufe das Motorrad in der gewuenschten Stueckzahl.
* @param stueckzahlKaufen Die gewuenschte Stueckzahl
* @param kunde Der Kunde
* @return Informationen ueber das Ergebnis des Kaufs
*/
public String kaufen(int anzahl, Kunde kunde)
{
if (anzahl <= stueckzahl) {
stueckzahl -= anzahl;
Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis);
verkaeufe.add(verkauf);
return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis));
} else {
return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell);
}
}
/**
* Liefert das Modell des Motorrads.
* @return Das Modell
*/
public String gibModell()
{
return modell;
}
/**
* Setzt den Preis des Motorrads.
* @param preis Der Preis
*/
public void setzePreis(int preis)
{
if (preis > 0) {
this.preis = preis;
}
}
/**
* Setze die verfuegbare Stueckzahl des Motorrads.
* @param stueckzahl Die Stueckzahl
*/
public void setzeStueckzahl(int stueckzahl)
{
if (stueckzahl >= 0) {
this.stueckzahl = stueckzahl;
}
}
/**
* Liefert die Leistung des Motorrads.
* @return Die Leistung
*/
public int gibLeistung()
{
return leistung;
}
/**
* Liefert ob das Motorrad ABS hat.
@ -99,17 +32,5 @@ public class Motorrad
{
return abs;
}
/**
* Gibt Informationen des Motorrads zurueck.
* @return Informationen des Verkaufs
*/
public String gibInfo() {
String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis);
resultat += "Bereits erfolgte Verkaeufe:\n";
for (Verkauf verkauf : verkaeufe) {
resultat += verkauf.gibInfo() + "\n";
}
return resultat;
}
}