Restguthaben ausrechnen

Derneuling1

Mitglied
Hallo,
ich möchte folgendes Programm schreiben:
Ein Programm soll Fahrkarten überprüfen dabei gilt folgendes: Eine Fahrt kostet 1,18€, jede weitere 0,98€
Der Nutzer gibt Kartenguthaben sowie Anzahl Fahrten pro Tag am Automaten ein (Hier wird angenommen, dass ein Fahrgast immer die gleiche Anzahl Fahrten pro Tag fährt)
Das Programm soll dann das aktuelle Fahrkartenguthaben, Anzahl Fahrten pro Tag, Kosten pro Tag, verbleibende Anzahl von Fahrten, verbleibende Anzahl an Tagen, sowie ggf. Restguthaben ausgeben.

Ich habe bisher folgendes geschrieben:
Code:
public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        double x = 1.18;  //Preis für eine Fahrt
        double y = 0.98;  //Preis für jede weitere Fahrt.
        
        System.out.println("Bitte geben Sie an, wie viel Fahrten Sie tätigen.");
        double a = Double.parseDouble(br.readLine());
        double b = (y * a + x - y);
        double c = Math.round(b * 100)/100.0; //Erechnent Fahrtkosten pro Tag
        
        System.out.println("Bitte geben Sie Ihr aktuelles Kartenguthaben ein.");
        double k = Double.parseDouble(br.readLine());
        double l = (k / a);
        int v = (int)(l+0.5); /Errechnet verbleibende Tage
    }

Nun möchte ich die verbleibenden Fahrten und das Restguthaben angeben. Nur leider weiß ich nicht wie. Beispielweise weiß ich, dass bei einem Guthaben von 13.80€ und 3 Fahrten pro Tag, es man insgesamt 13 Fahrten hat und man am Ende ein Restguthaben von 6 cent hat, nur wie kann ich das bei Java so machen, dass er dies ausrechnen kann?
 

TelTerry

Mitglied
Hallo @Derneuling1 , meinst du das so?
Java:
	public static void main(String[] args) {
		int	x				= 118;
		int	y				= 98;
		int	fahrten			= new Scanner(System.in).nextInt();
		int	guthaben		= new Scanner(System.in).nextInt();
		int	kostentag		= x + y * fahrten;
		int	tage			= guthaben / kostentag;
		int	gesamtkosten	= tage * kostentag;
		int	restk			= guthaben - gesamtkosten;
		System.out.println(x + "\n" + y + "\n" + fahrten + " Fahrten pro Tag\n" + guthaben + " Guthaben\n" + kostentag + " Kosten pro Tag\n" + tage + " Tage\n" + gesamtkosten + " Gesamtkosten\n" + restk + " Restguthaben\n");
	}


Die Ausgabe wär dann:
Code:
5
2500
118
98
5 Fahrten pro Tag
2500 Guthaben
608 Kosten pro Tag
4 Tage
2432 Gesamtkosten
68 Restguthaben
 

temi

Top Contributor
Ich weiß, dass man zu Faulheit neigt und nicht viel schreiben möchte, aber versuche dir von Anfang an anzugewöhnen deinen Variablen aussagekräftige Namen zu geben. Dadurch lässt sich ein Programm viel besser lesen und man muss nicht immer erst herausfinden, was a, b, c, x, y bedeuten soll.

Java:
double preisEineFahrt = 1.18;  //Preis für eine Fahrt
double preisWeitereFahrt = 0.98;  //Preis für jede weitere Fahrt.

double anzahlFahrten = Double.parseDouble(br.readLine());
//...
 

TelTerry

Mitglied
Ooh, mir ist wohl ein Rechenfehler unterlaufen:
Java:
public static void main(String[] args) {
	int	x				= 118;
	int	y				= 98;
	System.out.println("Bitte gib ein, wie oft du fahren willst");
	int fahrten 		= new Scanner(System.in).nextInt();
	System.out.println("Bitte gib dein Guthaben in Cents ein");
	int	guthaben		= new Scanner(System.in).nextInt();
	int	kostentag		= x + y * (fahrten - 1);
	int	tage			= guthaben / kostentag;
	int	gesamtkosten	= tage * kostentag;
	int	restguthaben	= guthaben - gesamtkosten;
	System.out.println(x + "\n" + y + "\n" + fahrten + " Fahrten pro Tag\n" + guthaben + " Guthaben\n" + kostentag
			+ " Kosten pro Tag\n" + tage + " Tage\n" + gesamtkosten + " Gesamtkosten\n" + restguthaben
			+ " Restguthaben\n");
}


Jetzt stimmt es. :)
 

mihe7

Top Contributor
Nun möchte ich die verbleibenden Fahrten und das Restguthaben angeben. Nur leider weiß ich nicht wie. Beispielweise weiß ich, dass bei einem Guthaben von 13.80€ und 3 Fahrten pro Tag, es man insgesamt 13 Fahrten hat und man am Ende ein Restguthaben von 6 cent hat, nur wie kann ich das bei Java so machen, dass er dies ausrechnen kann?

Naja, genauso wie auf dem Papier. Ich erhöhe das Guthaben mal auf 14,80 €, damit es interessanter wird.

In Deinem Beispiel fallen pro Tag 3,14 € an. Du kannst also erstmal ausrechnen, wie viele vollständige Tage Du fahren kannst: tage = (int)(k/a);, macht 4 Tage.

Damit weißt Du, wie viele Kosten für alle vollständigen Tage anfallen: tage*a = 12,56 €, die kannst Du von Deinem Guthaben abziehen, verbleibt ein Restguthaben von 2,24 €.

Da das Restguthaben über dem Preis für die erste Fahrt liegt, kannst Du diese durchführen, das Restguthaben verringert sich auf 2,24 € - 1,18 € = 1,06 €. Wie viele weitere Fahrten Du mit dem Restguthaben durchführen kannst, kannst Du wieder per Division ausrechnen (wie oben bei tage). Hier also (int)(1,06 € / 0,98 €) = 1. Verbleibt ein Restguthaben von 1,06 € - (0,98 * 1) = 0,08 €.

Ergebnis: 4 vollständige Tage á 3 Fahrten, zusätzlich am 5. Tag eine erste Fahrt und eine weitere Fahrt, insgesamt also 14 Fahrten. Das Restguthaben beträgt 0,08 €.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
Leo_1789 Differenz ausrechnen zwischen denn idealgewicht und denn echten Gewicht Java Basics - Anfänger-Themen 7
F Potenz ausrechnen Hilfe! Java Basics - Anfänger-Themen 7
D Gebühr ausrechnen [Buchaufgabe] Java Basics - Anfänger-Themen 9
C Rechenaufgabe im JLabel ausrechnen Java Basics - Anfänger-Themen 2
B Variablen im Java-Code selber "ausrechnen" Java Basics - Anfänger-Themen 8
C Konvertierung per Hand ausrechnen Java Basics - Anfänger-Themen 8
C Variablen Array dynamisch halten und ausrechnen Java Basics - Anfänger-Themen 14
N alter mit Date ausrechnen Java Basics - Anfänger-Themen 10
StrikeTom Median ausrechnen Java Basics - Anfänger-Themen 3
D Rest ausrechnen Java Basics - Anfänger-Themen 2
K Datentypen Prozent ausrechnen, Probleme Java Basics - Anfänger-Themen 9
K BMI ausrechnen Java Basics - Anfänger-Themen 20
B Taschenrechner - Aufgabenstring umwandeln und ausrechnen Java Basics - Anfänger-Themen 6
C String "ausrechnen" Java Basics - Anfänger-Themen 6
C Mausklicks pro Minute ausrechnen Java Basics - Anfänger-Themen 12
M Gleichungen dynamisch erstellen und ausrechnen? Java Basics - Anfänger-Themen 8
P Farbwertanteile ausrechnen! geht so nich ganz Java Basics - Anfänger-Themen 2
D BreitenGrad ausrechnen Java Basics - Anfänger-Themen 13
G automatisch ausrechnen Java Basics - Anfänger-Themen 3
U tage ausrechnen Java Basics - Anfänger-Themen 4
B Formel in Textfeld ausrechnen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben