Java - Double klaut mir die letzt 0
lima-city → Forum → Programmiersprachen → Java
ausgeben
bus
code
deklaration
double
entschuldigung
falschen code
http
korrigieren
lesestoff
minute
null
problem
stehen
string
stunde
switch
system
uhr
url
-
Guten Abend. Ich habe vor einen kleinen Busfahrplan zu machen.
Jedoch schneidet mir Java immer die 0en weg.
public class Aufgabe01 { public static void main(String args[]){ double [] x = new double[4]; int z; double Zeit = 13.10; double Bus = 0; x[0] = 12.20; x[1] = 12.40; x[2] = 13.00; x[3] = 13.20; for(int y = 0; y<3; y++){ if(x[y]<Zeit){ z = y; z++; Bus = x[z]; } } System.out.println("Der nächste Bus fährt um " + Bus + " Uhr."); } }
Was Rauskommen sollte: Der nächste Bus fährt um 13.20 Uhr.
Jedoch kommt das hier raus: Der nächste Bus fährt um 13.2 Uhr. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Java klaut dir gar nix. Eine abschließende Null ist unnötig, deswegen wird diese gleich bei der Deklaration ignoriert.
Wenn du formatiert ausgeben willst musst du dich selbst darum kümmern.
Lesestoff: http://openbook.galileodesign.de/javainsel7/javainsel_04_009.htm
4.9.1 ist hierbei für dich wohl interessant.
mfg -
Ich würde das nicht mit double lösen, sondern mit zwei ints für Minute und Stunde, aber das sollte dein Problem lösen:
System.out.print("Der nächste Bus fährt um " + Bus); switch (Bus.toString().length()) { case 2: System.out.print('.'); case 3: System.out.print('0'); case 4: System.out.print('0'); default: } System.out.println(" Uhr.");
Alternativ eben so:
System.out.print("Der nächste Bus fährt um " + BusStunde + ":" + (BusMinute.toString().length() == 1 ? "0" + BusMinute : BusMinute) + " Uhr.");
PS: Entschuldigung für das ofte Korrigieren, ich wollte hier nur keinen falschen Code stehen lassen
Beitrag zuletzt geändert: 19.12.2012 18:42:19 von toolz -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage