Java Kopierkostenrechner programmieren

dremba

Ensign
Registriert
März 2021
Beiträge
135
Hallo zusammen,

ich bin seit Stunden dabei eine Aufgabe für einen Kopierkostenrechner zu programmieren und bin am verzweifeln.

Mein Problem ist das ich die Berechnung nicht verstehe.

folgende Aufgabe:

  • Der Anwender gibt die fixen Kosten pro Monat (z.B. 238,-- €) ein. In diesen Kosten ist eine Mindestabnahmemenge (z.B. 1500 Stück) an Kopien enthalten. Übersteigt die Zahl der verbrauchten Kopien die Mindestabnahmemenge, wird für jede weitere Kopie ein Stückpreis (z.B. 2,25 Ct) berechnet. Die Mindestabnahmemenge und der Stückpreis werden ebenfalls eingegeben. Hierbei handelt es sich um Nettobeträge.
  • Das Programm soll für die Mengen 500, 1000, 1500, ... , 8000 jeweils die Gesamtkosten und die Kosten pro Kopie (jeweils incl. der gesetzlichen Mehrwertsteuer) berechnen.
  • Die tabellarische Ausgabe auf dem Bildschirm soll die Mengenangabe, die Gesamtkosten und die Kosten pro Kopie umfassen. Die Beträge sind auf zwei Nachkommastellen zu runden.

    Ausgabe:

    1642626007536.png


    Mein bisheriger Code:


  • Java:
    import java.util.Scanner;
    
    public class Kopierkostenrechner {
    
        public static void main(String[] args) {
    
            //Eingabe Variablen
            double fixkosten = 0;
            double mindestmenge = 0;
            double preisprokopie = 0;
            
            //Ausgabe Variablen
            //double kopienanzahl = 0;
            double gesamtkosten = 0;
            double kostenprokopie = 0;
            final double mwst = 1.19;
            
            
            
            Scanner input = new Scanner(System.in);
            
            System.out.println("************** Monatliche kosten für Kopiergeräte ************** \n");
            
            System.out.print("Fixkosten in Euro:        ");       
            fixkosten = input.nextDouble();
            
            System.out.print("Mindestabnahmemenge:      ");   
            mindestmenge = input.nextDouble();
            
            System.out.print("Preis pro Kopie in Euro:  ");   
            preisprokopie = input.nextDouble();
            
            
            //Berechnung gesamtkosten
            gesamtkosten = fixkosten * mwst;
            
            //Berechnung preisprokopie
            preisprokopie = preisprokopie * mwst;
            
            //Berechnung der Kopienanzahl
            for(int i = 500; i <= 8000; i+=500)
            {
                System.out.println("\nKopienanzahl");
                System.out.println(i);
                
                
                if(i <= mindestmenge)
                {
                    kostenprokopie = gesamtkosten / i;
                    
                
                    kostenprokopie = Math.round(kostenprokopie * 100.0) / 100.0;   
                    gesamtkosten = Math.round(gesamtkosten * 100.0) / 100.0;
                    
                    System.out.println("Gesamtkosten in Euro");
                    System.out.println(gesamtkosten);
                    
                    System.out.println("Kosten/Kopie in Euro");
                    System.out.println(kostenprokopie+ "\n");
                }
                else
                {
                    gesamtkosten = preisprokopie * i;
                    
                    kostenprokopie = gesamtkosten / i;
                    
                    kostenprokopie = Math.round(kostenprokopie * 100.0) / 100.0;
                    gesamtkosten = Math.round(gesamtkosten * 100.0) / 100.0;
                    
                    System.out.println("Gesamtkosten in Euro");
                    System.out.println(gesamtkosten);
    
                    System.out.println("Kosten/Kopie in Euro");
                    System.out.println(kostenprokopie);
                }
                
    
    
            } //end for
        
        } //end main
    } //end class copy
 
was funktioniert denn gerade, was noch nicht?

versuch mal zu erklaeren wo es klemmt

oder formulier mal pseudocode. Loesungen gibts hier von niemandem, aber wir helfen gern
:)
 
  • Gefällt mir
Reaktionen: tomgit
Eigentlich kein Hausaufgaben Forum ;-) die Problembeschreibung ist etwas dürftig

Du verstehst die Mathematik dahinter nicht, oder du weißt nicht wie du diese im Programm implementieren kannst?

Kriegst du es denn von Hand berechnet?

Wenn ja, Versuche diese Schritte nachzubauen und Versuche mit Ausgaben zu schauen, wo du dich berechnest
 
  • Gefällt mir
Reaktionen: kim88
Die Gesamtkosten sind nicht der Preis pro Kopie mal Anzahl Kopien.

Nach deiner Aufgabenstellung kosten die ersten Mindestabnahmemenge weiterhin Fixkosten, alle weiteren Kopien haben einen Stückpreis.
 
  • Gefällt mir
Reaktionen: tomgit
Genau, bis zur Mindestabnahmemenge verändert sich nur der Preis der Kopie (Preis_Pro_Kopie = Pauschale/Anzahl_der_Kopien); erst ab der Mindestabnahmemenge kommt der Aufschlag oben drauf. Musst halt beim Preis pro Kopie(total) den Aufschlag für den Einzelpreis relationär draufberechnen.


Hanni2k schrieb:
Eigentlich kein Hausaufgaben Forum ;-)
Lustigerweise häufen sich solche Fragen immer zu Beginn WS und bei beginnender Prüfungszeit.
Aber da gibt es bestimmt keinen kausalen Zusammenhang bei ;)
 
  • Gefällt mir
Reaktionen: cmi777 und DaysShadow
tomgit schrieb:
Auf keinen Fall :p

@dremba hat aber auch hier wenigstens m.E. schon gezeigt, dass er nicht nur stumpf die Lösung haben will, sondern verstehen will was vor sich geht: https://www.computerbase.de/forum/t...aehlt-eins-zu-viel-hoch.2065895/post-26496115

Das Problem ist dann eher, dass sich oft irgendjemand berufen fühlt und dann die komplette Lösung postet...

Hier muss er allerdings wie schon von anderen geschrieben noch was als konkrete Frage liefern ;)
 
  • Gefällt mir
Reaktionen: TorenAltair und tomgit
Darum find ich @madmax2010 Ansatz sehr gut, sich dem Problem erstmal mit Pseudocode zu nähern.
Ich arbeite auch gerne mit Skizzen, weil es das ganze nochmals bildlicher darstellt :) . Schwierigste ist meist erstmal das Problem richtig zu analysieren oder zu verstehen, welche Einzelschritte eigentlich notwendig sind.

Ist keine Kritik an irgendwelche "Anfänger" (würde mich mit einen 4 Jahren Python auch noch als Anfänger bezeichnen ;) ), sondern eher an die Unis. Kann da nicht für alle Unis sprechen, aber die Einführungsveranstaltungen in Informatik/Programmieren, die ich so erlebt habe, gehen leider nur sehr oberflächlich auf Algorithmen ein, dabei ist das das Kernprinzip des ganzen.
 
  • Gefällt mir
Reaktionen: TorenAltair und madmax2010
Ich danke euch schon mal. Genau @DaysShadow ich möchte nicht eine komplette Lösung, sondern verstehen wie. Ich verstehe wie ich bis zur Mindestabnahmemenge rechnen muss. Die Gesamtkosten sind da ja einfach Gesamtkosten = Fixkosten * mwst und die Kosten/Kopie in Euro = Gesamtkosten / Kopienanzahl. Aber ich verstehe nicht wie ich nach der Mindestabnahmemenge rechnen soll.

Wie kommt man wie im Beispiel bei einer Kopienanzahl von 4500 auf die 327,25€ und 0,07€?

Also wie ich ab der Mindestabnahmemenge rechne, weil die Werte aus dem Beispiel für mich wenig Sinn ergeben.
 
Ignorieren wir das mal... :D
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dremba
@tomgit also ich geh von dem Beispielbild aus. Dann wäre die Rechnung (235+4000*0,008+500*0,008) oder wie. Sorry ich versteh die Rechnung jetzt nicht so ganz. :D Dann wär ja das Ergebnis 336,25 bei deiner Rechnung oder?

Also die mwst erst am ende bei den Gesamtkosten dazu rechnen?
Ergänzung ()

tomgit schrieb:
Soll die Steuer da drin sein oder nicht?
Ja soll drin sein
 
Bis zu einer Menge von 4000 hast du keine variablen Kosten es ist einfach nur 235*1,19

Bei 4500 hast du variable Kosten: (fixe+varK*Stk)+1,19 -> (235+500*0,08)+1,19

Gesamtkosten = fixK+ varK*Stk (ohne Umst)
Gesamtkosten inkl UmSt = (fixK+(varK*Stk))*1,19
 
  • Gefällt mir
Reaktionen: dremba und tomgit
Für die 4500 Kopien aus dem Beispiel:

Gesamtpreis: Die ersten 4000 Kopien kosten immer 235 Euro netto. Dazu kommt dann noch die Seitenzahl, die die Mindestabnahmemenge übersteigt. Bei 4500 Kopien sind das eben 500 Stück. Für diese setzt du den angegebenen Seitenpreis an, den du eintippst (im Beispiel 8 Cent netto). Somit hast du den Gesamtnettopreis, da kommt noch die MwSt drauf. Gibt dann die 327,25 aus dem Beispiel.

Kosten je Kopie: Gesamtbruttopreis durch die Seitenzahl ergibt dann immer noch den Seitenpreis zum jeweiligen Kopiervolumen. Diese Berechnung bleibt für alle Kopiervolumen identisch.

Programmieren darfste aber diesmal selber ;)
 
  • Gefällt mir
Reaktionen: dremba
Das was @o2r_basti schrieb.

Bis zur 4000. Kopie 235*1,19€, danach (235+Kopie*0,00225)*1,19.
Kosten pro Kopie ist dann eben die Summe durch Anzahl der Kopien

Ich sollte nach 23 Uhr nicht mehr ins Forum :D

Edit: *1,19, nicht +1,19. Doofe TKL.
 
  • Gefällt mir
Reaktionen: madmax2010 und dremba
@DarkAngel2401 Ahhhhhhhh jeztz komm ich auf das richtige Ergebnis. Vielen Dank ich versuche ich das mal umzusetzen.
 
  • Gefällt mir
Reaktionen: madmax2010
@tomgit @o2r_basti Jetzt versteh ich auch die Rechnung von euch, sorry die hat mich zuerst bisschen verwirrt :D
Ergänzung ()

o2r_basti schrieb:
wirtschaftsinformatik? @dremba
Ne Fachinformatiker :) Aber in der Fachrichtung Systemintegration also programmiere nicht sehr viel.
 
  • Gefällt mir
Reaktionen: tomgit
Ich rede mich mal damit raus, dass ich eigentlich Geisteswissenschaftler bin :D
 
  • Gefällt mir
Reaktionen: dremba und o2r_basti

Ähnliche Themen

Zurück
Oben