Kassenbon programmieren!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kassenbon programmieren!

    Hi, ich studiere IMIT an der Universität Hildesheim seit dem WS jetzt. Naja, dazu gehört halt auch das Fach "Java programmieren". Bisher hatte ich nicht wirklich Probleme dabei, nur haben wir bei der jetztigen Übung eine Aufgabe bekommen in der wir einen Kassenbon programmieren sollen. Dazu habe ich ein Projekt "Kassenzettel" mit zwei Klassen angelegt. Einmal die Klasse "Bill" und einmal die Klasse "Item". Irgendwie kriegen wir es in unserer Gruppe nicht gebacken den Kassenzettel zu programmieren. Das Problem ist wohl das wir in der Vorlesung noch keine Listen hatten und so, keinen vernünftigen Kassenzettel programmieren können, wo man beliebig viele Artikel kaufen kann.
    Angeblich kann man mit Hilfe von zwei arrays den Kassenzettel programmieren, quasi einen array text und einen array price. Vielleicht wäre ja jemand von euch so nett und würde mir weiter helfen. :D

    Klasse "Item":

    Quellcode

    1. public class Item {
    2. private String text;
    3. private double price;
    4. public Item(String text, double price) {
    5. this.text = text;
    6. this.price = price;
    7. }
    8. public void print() {
    9. System.out.printf("%s\t\t%5.2f\n", text, price);
    10. }
    11. public static void main(String args[]) {
    12. double summe;
    13. Item item = new Item("Eclipse 3.2", 0.0D);
    14. item.print();
    15. Item item2 = new Item("Adobe Photoshop", 1499.00D);
    16. item2.print();
    17. Item item3 = new Item("MS Office", 99.99D);
    18. item3.print();
    19. summe =
    20. }
    21. }
    Alles anzeigen


    Klasse "Bll":

    Quellcode

    1. public class Bill {
    2. public static void main(String[] args) {
    3. //Initialisierung der Variablen
    4. String header;
    5. String footer;
    6. double vat = 16.0;
    7. double sum = 0.0;
    8. header = (" S U P E R M A R K T\n Universität\n Hildesheim\n");
    9. footer = ("\nVielen Dank für ihren Einkauf\n Umtausch nur mit Kassenbon");
    10. //Ausgabe header
    11. System.out.println(header);
    12. //Aufruf der main-Funktion der Klasse Item
    13. Item.main(args);
    14. //Bilde die Summe der Items
    15. //Berechne die Mehrwertsteuer
    16. //Ausgabe footer
    17. System.out.println(footer);
    18. }
    19. }
    Alles anzeigen
  • Ich bin auch an der Uni und lerne grade Java.
    Bin auch noch nicht so ganz fit. Habe grade ein Programm beendet um Volumen und Oberflächen von Trapezen zu berechnen und zu vergleichen.

    Wie währe es wenn du header und footer nicht als Variable deklarierst sondern direkt ausgibst ?
    Währe es nicht sinnvoller statt in beiden Klassen nur in eine Klasse und dann evtl. über mehrere Konstruktoren zu arbeiten ?

    Vielleicht schreibst du die Anforderungen mal hier rein.
  • Na, wenn ihr noch keine verketteten Listen hattet, dann nimm doch eine ArrayList.
    Falls ihr doch welche selbst machen müsst, dann les dich dazu erstmal im Internet ein.

    Und schau dir mal die toString Methode an - die ist doch irgendwie schöner ;)

    Quellcode

    1. public class Item {
    2. private String text;
    3. public double price;
    4. public Item(String text, double price) {
    5. this.text = text;
    6. this.price = price;
    7. }
    8. public String toString() {
    9. return String.format("%s\t\t%5.2f", text, price);
    10. }
    11. }
    Alles anzeigen


    Quellcode

    1. public class Bill {
    2. public static void main(String[] args) {
    3. //Initialisierung der Variablen
    4. String header;
    5. String footer;
    6. double vat = 1.16;
    7. double sum = 0.0;
    8. header = (" S U P E R M A R K T\n Universität\n Hildesheim\n");
    9. footer = ("\nVielen Dank für ihren Einkauf\n Umtausch nur mit Kassenbon");
    10. //Ausgabe header
    11. System.out.println(header);
    12. //Aufruf der main-Funktion der Klasse Item
    13. ArrayList<Item> l = new ArrayList<Item>();
    14. l.add(new Item("Eclipse 3.2", 0.0D));
    15. l.add(new Item("Adobe Photoshop", 1499.00D));
    16. l.add(new Item("MS Office", 99.99D));
    17. //Bilde die Summe der Items
    18. for(Item i : l) {
    19. sum += i.price;
    20. System.out.println(i);
    21. }
    22. //Berechne die Mehrwertsteuer
    23. System.out.println("Preis: "+sum*vat);
    24. //Ausgabe footer
    25. System.out.println(footer);
    26. }
    27. }
    Alles anzeigen