Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Kassenbon/Musterloesung

< Javakurs‎ | Übungsaufgaben‎ | Kassenbon
Version vom 6. März 2012, 13:37 Uhr von Ugene (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor. =…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hinweis: Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.

Vorgabe Euro.java

 public class Euro {
   
   //rundet einen double-Wert auf 2 Nachkommastellen, konvertiert ihn in einen String gegebener Breite (inklusive fuehrender Leerzeichen) und fuegt ein Euro-Zeichen an.
   public static String format(double value, int width){
   
   	String blanks= "             ";
           
       String s= Double.toString(value);
       
       int dotPosition= s.indexOf('.');
           
       s = blanks.substring(0, width-(dotPosition+2)) + 
           (int)value + "." + (int)(value * 100)%100;
       
       //(int)(value * 100)%100 = 0 fuer Zahlen der Form X.00
       // --> Es muss noch eine Null angehangen werden
       if(0 == (int)(value * 100)%100){
           s += "0";
       }
       
       s +=  " EUR";
   
       return s;
   }
}


Lösung Kassenbon

public class Kassenbon {
   public static void main(String[] args){
       //Einzelpreise der Waren
       double wurst = 4.2;
       double kaese = 2.3;
       double brot = 2.1;
       double dvd = 12.0;
       
       //Anzahl der Waren
       int anzWurst = 1;
       int anzKaese = 1;
       int anzBrot = 1;
       int anzDvd = 2;
       
       //Inhalt der Brieftasche
       double brieftasche = 50.0;
       
       //Summe gekaufter Waren
       double summe = 0;
       summe = summe + anzWurst * wurst;
       summe = summe + anzKaese * kaese;
       summe = summe + anzBrot * brot;
       summe = summe + anzDvd * dvd;
       
       if(summe > brieftasche){
           System.out.println("Sie haben nicht genug Geld in Ihrer Brieftasche");
       } else {
           
           System.out.println("Wurst\t "+ anzWurst + " x  " + Euro.format(wurst, 3));
           System.out.println("\t\t\t " + Euro.format(anzWurst * wurst, 3));
           
           System.out.println("Käse\t " + anzKaese + " x  " +  Euro.format(kaese,3));
           System.out.println("\t\t\t " + Euro.format(anzKaese * kaese, 3));
           
           System.out.println("Brot\t " + anzBrot  + " x  " + Euro.format(brot, 3));
           System.out.println("\t\t\t " + Euro.format(anzBrot * brot, 3));
           
           System.out.println("DVD\t " + anzDvd + " x " + Euro.format(dvd, 4));
           System.out.println("\t\t\t" + Euro.format(anzDvd * dvd, 4));
           
           System.out.println("_________________________________");
           
           System.out.println("Gesamt\t\t\t" + Euro.format(summe, 4));
           System.out.println("Gegeben\t\t\t" + Euro.format(brieftasche, 4));
           System.out.println();
           System.out.println("Zurück\t\t\t" + Euro.format(brieftasche-summe, 4));
       }
   }
}

Lösung Kassenbon + automatischer Einkauf

public class KassenbonAutomatik {
   public static void main(String[] args){
       //Einzelpreise der Waren
       double wurst = 4.2;
       
       //Anzahl der Waren
       int anzWurst = 0;
       
       //Inhalt der Brieftasche
       double brieftasche = 50.0;
       
       //Summe gekaufter Waren
       double summe = 0;
       
       if(summe > brieftasche){
           System.out.println("Sie haben nicht genug Geld in Ihrer Brieftasche");
       } else {
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           if(summe+wurst < brieftasche){
               summe = summe + wurst;
               anzWurst = anzWurst + 1;
           }
           
           System.out.println("Wurst\t "+ anzWurst + " x  " + Euro.format(wurst, 3));
           System.out.println("\t\t\t" + Euro.format(anzWurst * wurst, 4));
           
           System.out.println("_________________________________");
           
           System.out.println("Gesamt\t\t\t" + Euro.format(summe, 4));
           System.out.println("Gegeben\t\t\t" + Euro.format(brieftasche, 4));
           System.out.println();
           System.out.println("Zurück\t\t\t" + Euro.format(brieftasche-summe, 4));
       }
   }
}

Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)