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. =…“)
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.
Inhaltsverzeichnis
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 ;)