D
Dennis
Gast
Hi, ich bin noch ziehmlich unerfahren in Sachen Java.
Trotzdem habe ich mich mal drangesetzt und bin gerade dabei einen kleinen Kostenrechner für das Browsergame "ogame" zu basteln.
Dabei bin ich auf ein Problem in der Zeitberechnung gestoßen. Das Problem ist nicht Mathematischer Natur. Da ich mit mit der Zeitberechnung usw in Java noch gar nicht auskenne, habe ich mir ein bisschen was mathematisches ausgedacht. Soweit sogut. Vom Prinzip her funktioniert es. Es liegt an der Ausgabe des Ergebnisses.
So, mein Problem besteht jetzt darin, dass die Zeitangaben (tagegeb, stundengeb...) Variablen des Typs double sind.
Folglich wird das Ergebnis auch so ausgegeben:
tagegeb.0 - stundengeb.0 : minutengeb.0 : sekundengeb.0
Gibt es nun die Möglichkeit, das Ergebnis zu formatieren, dass die Nachkommastellen nichtmehr angezeit werden? Außerdem wäre eine führende 0 nicht schlecht
Ich hoffe ihr versteht, worin mein Problem liegt und dass ihr mir helfen könnt.
MfG Dennis
Trotzdem habe ich mich mal drangesetzt und bin gerade dabei einen kleinen Kostenrechner für das Browsergame "ogame" zu basteln.
Dabei bin ich auf ein Problem in der Zeitberechnung gestoßen. Das Problem ist nicht Mathematischer Natur. Da ich mit mit der Zeitberechnung usw in Java noch gar nicht auskenne, habe ich mir ein bisschen was mathematisches ausgedacht. Soweit sogut. Vom Prinzip her funktioniert es. Es liegt an der Ausgabe des Ergebnisses.
Code:
zeitgeb = (Math.floor((((kristallgebaeude + metallgebaeude) / (2500 * (1 + stuferobo))) * Math.pow (0.5 , stufenani))*60*60)); //Berechnung der benötigten Zeit in Sekunden
if((zeitgeb/(60*60*24)>=1))
{
tagegeb= Math.floor((zeitgeb/(60*60*24))); //Prüfung ob es mehr als ein Tag ist
}
else
{
tagegeb=0;
}
if ((zeitgeb/(60*60)-(tagegeb*24))>=1)
{
stundengeb= Math.floor((zeitgeb/(60*60)-(tagegeb*24))); //Prüfung wie viele Stunden noch übrig bleiben
}
else
{
stundengeb=0;
}
if((zeitgeb/(60)-((tagegeb*24*60)+(stundengeb*60)))>=1)
{
minutengeb= Math.floor((zeitgeb/(60)-((tagegeb*24*60)+(stundengeb*60)))); ////Prüfung wie viele Minuten noch übrig bleiben
}
else
{
minutengeb= 0;
}
if((zeitgeb-((tagegeb*24*60*60)+(stundengeb*60*60)+(minutengeb*60)))>=1)
{
sekundengeb= Math.floor((zeitgeb-((tagegeb*24*60*60)+(stundengeb*60*60)+(minutengeb*60))));//Prüfung wie viele Sekunden noch übrig bleiben
}
else
{
sekundengeb=0;
}
textField75.setText(tagegeb+" - "+stundengeb+":"+minutengeb+":"+sekundengeb); //Ausgabe des Ergebnisses
So, mein Problem besteht jetzt darin, dass die Zeitangaben (tagegeb, stundengeb...) Variablen des Typs double sind.
Folglich wird das Ergebnis auch so ausgegeben:
tagegeb.0 - stundengeb.0 : minutengeb.0 : sekundengeb.0
Gibt es nun die Möglichkeit, das Ergebnis zu formatieren, dass die Nachkommastellen nichtmehr angezeit werden? Außerdem wäre eine führende 0 nicht schlecht
Ich hoffe ihr versteht, worin mein Problem liegt und dass ihr mir helfen könnt.
MfG Dennis