M
Mythos33
Gast
Hallo,
ich muss von der Schule aus Übungsaufgaben im Fach Java erledigen. Die Aufgabe lautet:
Ein Rechenzentrum vermietet seine Leistung, die Kosten werden sekundengenau abgerechnet.
Nun bin ich dabei eine Methode zu schreiben, die mir die Kosten für eine Sekunde (0,241 ct/sec) berechnet und zurückgibt.
Jedoch werden beim Aufaddieren irgendwann die Nachkommastellen abgeschnitten.
Wenn ich in main() nun den Eurobetrag (kosten / 100) ausgeben möchte, erhalte ich 0.0.
Normalerweise sollte ein double dies nicht tun, ich habe ebenfalls andere Testdaten verwendet (z.B. 4/3 = 1,3333333).
Ich hoffe ihr könnt mir bei meinem Problem helfen.
Hier ist der Code:
Ausgabe:
Grüße,
Mythos33
ich muss von der Schule aus Übungsaufgaben im Fach Java erledigen. Die Aufgabe lautet:
Ein Rechenzentrum vermietet seine Leistung, die Kosten werden sekundengenau abgerechnet.
Nun bin ich dabei eine Methode zu schreiben, die mir die Kosten für eine Sekunde (0,241 ct/sec) berechnet und zurückgibt.
Jedoch werden beim Aufaddieren irgendwann die Nachkommastellen abgeschnitten.
Wenn ich in main() nun den Eurobetrag (kosten / 100) ausgeben möchte, erhalte ich 0.0.
Normalerweise sollte ein double dies nicht tun, ich habe ebenfalls andere Testdaten verwendet (z.B. 4/3 = 1,3333333).
Ich hoffe ihr könnt mir bei meinem Problem helfen.
Hier ist der Code:
Java:
import java.util.Date;
public class Rechenzeit {
public static void main(String[] args) {
Date start = new Date(2012 - 1900, 9, 23);
Date ende = new Date(2012 - 1900, 9, 24);
long dauer = (ende.getTime() - start.getTime()) / 1000 /* % 60 */;
System.out.println(start);
System.out.println(ende);
System.out.println(dauer);
System.out.println(Math.round(berechneKosten(start, ende)));
double kosten = berechneKosten(start, ende);
System.out.println(kosten);
}
public static double berechneKosten(Date start, Date ende) {
Date aktuell = start;
double kosten = 0.0;
while (aktuell.getTime() <= ende.getTime()) {
aktuell.setTime(aktuell.getTime() + (1 * 1000));
kosten += 0.241;
}
return kosten;
}
}
Ausgabe:
Code:
Tue Oct 23 00:00:00 CEST 2012
Wed Oct 24 00:00:00 CEST 2012
86400
20823
0.0
Grüße,
Mythos33
Zuletzt bearbeitet von einem Moderator: