Pr1smZ

elektronischerKunde

Feb 23rd, 2024
1,284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.18 KB | None | 0 0
  1. class Kunde{
  2.     String name;
  3.     float gesamtRechnung;
  4.     int anzProdukte;
  5.     Produkt[] gekaufteProdListe = {};
  6.    
  7.     public Kunde(String n){
  8.         name = n;
  9.         gesamtRechnung = 0;
  10.         anzProdukte = 0;
  11.     }
  12.    
  13.     public void einkaufen (Produkt p, int anzahl){
  14.         int menge = anzahl;
  15.         Produkt produkt = p;
  16.         Produkt[] newProdListe = new Produkt[anzProdukte+1+anzahl];
  17.         for (int i=0; i<gekaufteProdListe.length;i++){
  18.             newProdListe[i] = gekaufteProdListe[i];
  19.         }
  20.         if (menge > 0 && gesamtRechnung > 100){
  21.             gesamtRechnung += (produkt.gibPreis()*0.9*menge);
  22.             for (int i=0; i<menge;i++){
  23.                 newProdListe[i+anzProdukte] = produkt;
  24.                 anzProdukte++;
  25.             }
  26.         } else if (menge > 0) {
  27.             gesamtRechnung += (produkt.gibPreis()*menge);
  28.             for (int i=0; i<menge;i++){
  29.                 newProdListe[i+anzProdukte] = produkt;
  30.                 anzProdukte++;
  31.             }
  32.         } else {
  33.             gesamtRechnung -= (produkt.gibPreis()* Math.abs(menge));
  34.             for (int i=0; i<anzahl*(-1);i++){
  35.                 newProdListe[i+anzProdukte] = new Produkt(produkt.bezeichnung, produkt.preis);
  36.                 anzProdukte++;
  37.             }
  38.         }
  39.         gekaufteProdListe = newProdListe;
  40.     }
  41.    
  42.     public void ausgeben(){
  43.         System.out.println("Kunde: " + name + "hat eine Rechnung ueber: " + gesamtRechnung);
  44.        
  45.         System.out.println("Gekaufte Produkte:");
  46.         for (int i = 0; i < anzProdukte; i++) {
  47.             System.out.println("  - " + gekaufteProdListe[i].gibBezeichnung() + ": " + gekaufteProdListe[i].gibPreis());
  48.         }
  49.     }  
  50. }
  51.  
  52. class RabatProdukt extends Produkt{
  53.     float prozent;
  54.    
  55.     public RabatProdukt(String b, float p, float rabat) {
  56.         super(b, p);
  57.         this.prozent = rabat;
  58.         preis *= (1 - rabat/100);
  59.     }
  60.    
  61.     public float gibRabat(){
  62.         return prozent;
  63.     }
  64. }
  65.  
  66. class Produkt{
  67.     float preis;
  68.     String bezeichnung;
  69.    
  70.     public Produkt(String b, float p){
  71.         bezeichnung = b;
  72.         preis = p;
  73.     }
  74.    
  75.     public String gibBezeichnung(){
  76.         return bezeichnung;
  77.     }
  78.    
  79.     public float gibPreis(){
  80.         return preis;
  81.     }
  82.    
  83. }
  84.    
  85. public class elektronischerKunde{
  86.     public static void main(String[] args){
  87.         Kunde k = new Kunde ("Horst");
  88.         k.einkaufen (new RabatProdukt ("Schuhe", 741.99f, 26f), 2);
  89.         k.einkaufen (new Produkt ("Hose", 120f), 3);
  90.         k.einkaufen (new Produkt("Hemd", 100f), -4);
  91.         k.ausgeben();
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment