Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Kunde {
- private String vorname;
- private String nachname;
- public Kunde(String vorname, String nachname) {
- this.vorname = vorname;
- this.nachname = nachname;
- }
- public String getVorname() {
- return vorname;
- }
- public String getNachname() {
- return nachname;
- }
- public String toString() {
- return vorname + " " + nachname;
- }
- }
- public class GuterKunde extends Kunde {
- double rabatt;
- public GuterKunde(String vorname, String nachname, double rabatt) {
- super(vorname,nachname);
- this.rabatt = rabatt;
- }
- public double getRabatt() {
- return rabatt;
- }
- public String toString() {
- return super.toString() + ", Preisnachlass " + rabatt*100 +"%";
- }
- }
- public class Artikel {
- String name;
- double preis;
- int anzahl;
- public Artikel(String name, double preis, int anzahl) {
- this.name = name;
- this.preis = preis;
- this.anzahl = anzahl;
- }
- public String getName() {
- return name;
- }
- public double getPreis() {
- return preis;
- }
- public int getAnzahl() {
- return anzahl;
- }
- }
- public class WebShop {
- Artikel[] artikel;
- Kunde[] kunden;
- public WebShop() {
- artikel = new Artikel[10];
- kunden = new Kunde[10];
- }
- void neuerArtikel(String name, double preis, int anzahl) {
- for (int i = 0; i < artikel.length; i++) {
- if (artikel[i] == null) {
- artikel[i] = new Artikel(name, preis, anzahl);
- break;
- }
- }
- }
- Kunde neuerKunde(String vorname, String nachname) {
- Kunde k = new Kunde(vorname, nachname);
- for (int i = 0; i < kunden.length; i++) {
- if (kunden[i] == null) {
- kunden[i] = k;
- return k;
- }
- }
- return null;
- }
- Kunde neuerKunde(String vorname, String nachname, double rabatt) {
- Kunde k = new GuterKunde(vorname, nachname, rabatt);
- for (int i = 0; i < kunden.length; i++) {
- if (kunden[i] == null) {
- kunden[i] = k;
- return k;
- }
- }
- return null;
- }
- String bestellen(Kunde kunde, String[] artikel) {
- String rechnung;
- double gesamtpreis = 0;
- if (kunde instanceof GuterKunde) {
- rechnung = "Rechnung fuer unseren guten Kunden " + kunde.toString() + ":" + System.lineSeparator();
- } else {
- rechnung = "Rechnung fuer " + kunde.toString() + ":" + System.lineSeparator();
- }
- for (int i = 0; i < artikel.length; i++) {
- for (int n = 0; n < this.artikel.length; n++) {
- if (this.artikel[n] == null) {
- rechnung = rechnung + artikel[i] + " : nicht gefunden" + System.lineSeparator();
- break;
- }
- if (artikel[i].contentEquals(this.artikel[n].getName())) {
- if (this.artikel[n].getAnzahl() > 0) {
- double artikelPreis = 0;
- if (kunde instanceof GuterKunde) {
- artikelPreis = this.artikel[n].getPreis() * (1 - ((GuterKunde) kunde).getRabatt());
- } else {
- artikelPreis = this.artikel[n].getPreis();
- }
- rechnung = rechnung + this.artikel[n].getName() + " : " + artikelPreis + System.lineSeparator();
- this.artikel[n].anzahl--;
- gesamtpreis = gesamtpreis + artikelPreis;
- break;
- } else {
- rechnung = rechnung + this.artikel[n].getName() + " : nicht mehr vorhanden"
- + System.lineSeparator();
- break;
- }
- }
- }
- }
- rechnung = rechnung + "Gesamtpreis: " + gesamtpreis + System.lineSeparator();
- return rechnung;
- }
- }
- public class WebShopTest {
- public static void main(String[] args) {
- WebShop w = new WebShop();
- Kunde kunde1 = w.neuerKunde("Helga", "Herrlich");
- Kunde kunde2 = w.neuerKunde("Werner", "Winzig", 0.05);
- w.neuerArtikel("Leberwurst", 1.95, 2);
- w.neuerArtikel("Nutella", 3.95, 1);
- String[] bestellung1 = {"Leberwurst", "Nutella"};
- String rechnung1 = w.bestellen(kunde1, bestellung1);
- System.out.println(rechnung1);
- String[] bestellung2 = {"Leberwurst", "Nutella", "Butter"};
- String rechnung2 = w.bestellen(kunde2, bestellung2);
- System.out.println(rechnung2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement