Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Kunde{
- String name;
- float gesamtRechnung;
- int anzProdukte;
- Produkt[] gekaufteProdListe = {};
- public Kunde(String n){
- name = n;
- gesamtRechnung = 0;
- anzProdukte = 0;
- }
- public void einkaufen (Produkt p, int anzahl){
- int menge = anzahl;
- Produkt produkt = p;
- Produkt[] newProdListe = new Produkt[anzProdukte+1+anzahl];
- for (int i=0; i<gekaufteProdListe.length;i++){
- newProdListe[i] = gekaufteProdListe[i];
- }
- if (menge > 0 && gesamtRechnung > 100){
- gesamtRechnung += (produkt.gibPreis()*0.9*menge);
- for (int i=0; i<menge;i++){
- newProdListe[i+anzProdukte] = produkt;
- anzProdukte++;
- }
- } else if (menge > 0) {
- gesamtRechnung += (produkt.gibPreis()*menge);
- for (int i=0; i<menge;i++){
- newProdListe[i+anzProdukte] = produkt;
- anzProdukte++;
- }
- } else {
- gesamtRechnung -= (produkt.gibPreis()* Math.abs(menge));
- for (int i=0; i<anzahl*(-1);i++){
- newProdListe[i+anzProdukte] = new Produkt(produkt.bezeichnung, produkt.preis);
- anzProdukte++;
- }
- }
- gekaufteProdListe = newProdListe;
- }
- public void ausgeben(){
- System.out.println("Kunde: " + name + "hat eine Rechnung ueber: " + gesamtRechnung);
- System.out.println("Gekaufte Produkte:");
- for (int i = 0; i < anzProdukte; i++) {
- System.out.println(" - " + gekaufteProdListe[i].gibBezeichnung() + ": " + gekaufteProdListe[i].gibPreis());
- }
- }
- }
- class RabatProdukt extends Produkt{
- float prozent;
- public RabatProdukt(String b, float p, float rabat) {
- super(b, p);
- this.prozent = rabat;
- preis *= (1 - rabat/100);
- }
- public float gibRabat(){
- return prozent;
- }
- }
- class Produkt{
- float preis;
- String bezeichnung;
- public Produkt(String b, float p){
- bezeichnung = b;
- preis = p;
- }
- public String gibBezeichnung(){
- return bezeichnung;
- }
- public float gibPreis(){
- return preis;
- }
- }
- public class elektronischerKunde{
- public static void main(String[] args){
- Kunde k = new Kunde ("Horst");
- k.einkaufen (new RabatProdukt ("Schuhe", 741.99f, 26f), 2);
- k.einkaufen (new Produkt ("Hose", 120f), 3);
- k.einkaufen (new Produkt("Hemd", 100f), -4);
- k.ausgeben();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment