Hallo zusammen,
ich sitze schon seit längerer Zeit vor einem Problem und komme auf keine Lösung.
Vielleicht kann mir jemand einige Tipps oder Vorschläge geben.
Aufgabenstellung:
Es soll ein Java-Programm geschrieben werden, das den Abrollvorgang einer Papierrolle simuliert. Dabei soll eine Papierrolle durch folgende Werte beschrieben werden
• Außendurchmesser des Rollenkerns
• Außendurchmesser der Papierrolle
• Breite der Papierrolle
• Stärke des Papiers
Ihr Programm soll zu Beginn jeweils diese vier Werte einlesen. Aus den eingegebenen Werten können Sie leicht die Länge der auf der Rolle aufgespulten Papierbahn berechnen. Falls erforderlich, können Sie statt der eigentlichen Spiralform der Papierbahn auf der Rolle annehmen, es lägen jeweils einzelne Papierlagen in Zylinderform übereinander. Nun sollen Abspulvorgänge simuliert werden. Dazu soll Ihr Programm nach der Eingabe der Rollendaten in einer Schleife laufen und bei jedem Durchlauf jeweils einen Wert vom Benutzer abfragen: entweder die Anzahl der Umdrehungen beim Abspulen oder die Papierfläche, die von der Rolle abgespult werden soll. Der Benutzer muss bei jedem Durchlauf der Schleife die Möglichkeit haben, zwischen den beiden Möglichkeiten zu wählen. Nach jeder Eingabe soll Ihr Programm ausrechnen und ausgeben, wie lang die abgespulte Papierbahn sein muss und wie viel Papierlänge auf der Rolle verbleibt. Wenn die abzuspulende Papierlänge größer als die noch auf der Rolle befindliche Papierlänge ist, soll Ihr Programm eine entsprechende Meldung mit der nicht mehr lieferbaren Länge ausgeben und sich dann beenden.
Vorgehensweise:
Nachdem alle Werte eingelesen sind wird ein Feld erstellt:
(Bsp. 4 Lagen Papier auf der Rolle)
[table=“width: 500, class: grid”]
0
1
2
3
Lage
1
2
3
4
verbl. Lage
1
1
1
1
Länge
pi*d1
pi*d2
pi*d3
pi*d4
Durchmesser
d1
d2
d3
d4
[/table]
wenn jetzt die Anzahl der Umdrehungen bestimmt wird soll die abgespulte Länge von der Gesamtlänge abgezogen werden.
Das Problem ist, ich weiß nicht wie ich dann bei dem zweiten Schleifendurchlauf bestimmen kann welche Lage zurzeit aufgerollt ist, da diese ja verschiedene Durchmesser haben.
Kann man evtl das letzte Feldelement löschen, wenn verbleibe Lage auf 0 ist?
Ich bin für jeden Vorschlag sehr dankbar!