Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.93 KB | None | 0 0
  1. public class Kunde {
  2.  
  3.     private String vorname;
  4.     private String nachname;
  5.    
  6.     public Kunde(String vorname, String nachname) {
  7.         this.vorname = vorname;
  8.         this.nachname = nachname;
  9.     }
  10.    
  11.     public String getVorname() {
  12.         return vorname;
  13.     }
  14.    
  15.     public String getNachname() {
  16.         return nachname;
  17.     }
  18.    
  19.     public String toString() {
  20.         return vorname + " " + nachname;
  21.     }
  22. }
  23.  
  24. public class GuterKunde extends Kunde {
  25.    
  26.     double rabatt;
  27.    
  28.     public GuterKunde(String vorname, String nachname, double rabatt) {
  29.         super(vorname,nachname);
  30.         this.rabatt = rabatt;
  31.     }
  32.    
  33.     public double getRabatt() {
  34.         return rabatt;
  35.     }
  36.    
  37.     public String toString() {
  38.         return super.toString() + ", Preisnachlass " + rabatt*100 +"%";
  39.     }
  40. }
  41.  
  42. public class Artikel {
  43.  
  44.     String name;
  45.     double preis;
  46.     int anzahl;
  47.    
  48.     public Artikel(String name, double preis, int anzahl) {
  49.         this.name = name;
  50.         this.preis = preis;
  51.         this.anzahl = anzahl;
  52.     }
  53.    
  54.     public String getName() {
  55.         return name;
  56.     }
  57.    
  58.     public double getPreis() {
  59.         return preis;
  60.     }
  61.    
  62.     public int getAnzahl() {
  63.         return anzahl;
  64.     }
  65.    
  66. }
  67.  
  68. public class WebShop {
  69.  
  70.     Artikel[] artikel;
  71.     Kunde[] kunden;
  72.  
  73.     public WebShop() {
  74.         artikel = new Artikel[10];
  75.         kunden = new Kunde[10];
  76.     }
  77.  
  78.     void neuerArtikel(String name, double preis, int anzahl) {
  79.         for (int i = 0; i < artikel.length; i++) {
  80.             if (artikel[i] == null) {
  81.                 artikel[i] = new Artikel(name, preis, anzahl);
  82.                 break;
  83.             }
  84.         }
  85.     }
  86.  
  87.     Kunde neuerKunde(String vorname, String nachname) {
  88.         Kunde k = new Kunde(vorname, nachname);
  89.         for (int i = 0; i < kunden.length; i++) {
  90.             if (kunden[i] == null) {
  91.                 kunden[i] = k;
  92.                 return k;
  93.             }
  94.         }
  95.         return null;
  96.     }
  97.  
  98.     Kunde neuerKunde(String vorname, String nachname, double rabatt) {
  99.         Kunde k = new GuterKunde(vorname, nachname, rabatt);
  100.         for (int i = 0; i < kunden.length; i++) {
  101.             if (kunden[i] == null) {
  102.                 kunden[i] = k;
  103.                 return k;
  104.             }
  105.         }
  106.         return null;
  107.     }
  108.  
  109.     String bestellen(Kunde kunde, String[] artikel) {
  110.         String rechnung;
  111.         double gesamtpreis = 0;
  112.         if (kunde instanceof GuterKunde) {
  113.             rechnung = "Rechnung fuer unseren guten Kunden " + kunde.toString() + ":" + System.lineSeparator();
  114.         } else {
  115.             rechnung = "Rechnung fuer " + kunde.toString() + ":" + System.lineSeparator();
  116.         }
  117.  
  118.         for (int i = 0; i < artikel.length; i++) {
  119.             for (int n = 0; n < this.artikel.length; n++) {
  120.                 if (this.artikel[n] == null) {
  121.                     rechnung = rechnung + artikel[i] + " : nicht gefunden" + System.lineSeparator();
  122.                     break;
  123.                 }
  124.                 if (artikel[i].contentEquals(this.artikel[n].getName())) {
  125.                     if (this.artikel[n].getAnzahl() > 0) {
  126.                         double artikelPreis = 0;
  127.                         if (kunde instanceof GuterKunde) {
  128.                             artikelPreis = this.artikel[n].getPreis() * (1 - ((GuterKunde) kunde).getRabatt());
  129.                         } else {
  130.                             artikelPreis = this.artikel[n].getPreis();
  131.                         }
  132.                         rechnung = rechnung + this.artikel[n].getName() + " : " + artikelPreis + System.lineSeparator();
  133.                         this.artikel[n].anzahl--;
  134.                         gesamtpreis = gesamtpreis + artikelPreis;
  135.                         break;
  136.                     } else {
  137.                         rechnung = rechnung + this.artikel[n].getName() + " : nicht mehr vorhanden"
  138.                                 + System.lineSeparator();
  139.                         break;
  140.                     }
  141.                 }
  142.             }
  143.  
  144.         }
  145.  
  146.         rechnung = rechnung + "Gesamtpreis: " + gesamtpreis + System.lineSeparator();
  147.         return rechnung;
  148.  
  149.     }
  150. }
  151.  
  152. public class WebShopTest {
  153.  
  154.     public static void main(String[] args) {
  155.        
  156.         WebShop w = new WebShop();
  157.         Kunde kunde1 = w.neuerKunde("Helga", "Herrlich");
  158.         Kunde kunde2 = w.neuerKunde("Werner", "Winzig", 0.05);
  159.        
  160.         w.neuerArtikel("Leberwurst", 1.95, 2);
  161.         w.neuerArtikel("Nutella", 3.95, 1);
  162.        
  163.         String[] bestellung1 = {"Leberwurst", "Nutella"};
  164.         String rechnung1 = w.bestellen(kunde1, bestellung1);
  165.         System.out.println(rechnung1);
  166.        
  167.         String[] bestellung2 = {"Leberwurst", "Nutella", "Butter"};
  168.         String rechnung2 = w.bestellen(kunde2, bestellung2);
  169.         System.out.println(rechnung2);
  170.        
  171.     }
  172.  
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement