/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Kan dette skrives p=E6nere?
Fra : NB


Dato : 25-05-04 18:34

private String minuteToTimeString(int minute) {
int h = minute / 60;
int m = minute % 60;

String timeString;
if (h < 10)
timeString = "0" + Integer.toString(h);
else
timeString = Integer.toString(h);

if (m < 10)
timeString = timeString + ":0" + Integer.toString(m);
else
timeString = timeString + ":" + Integer.toString(m);

return timeString;
}

 
 
Lasse Reichstein Nie~ (25-05-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 25-05-04 19:13

NB <nej@tak.dk> writes:

> private String minuteToTimeString(int minute) {

Hvad skal den gøre? Bare *lidt* forklarende tekst gør det meget
nemmere for os at gætte hvad du er ude på (ikke at det er meget
svært, men der er altid chance for at man misforstår din kode.

Dernæst: Hvorfor vil du gøre det "pænere" (og hvad mener du med det:
kortere? bedre indenteret?)

Så, jeg vil blot skrive hvordan jeg ville gøre det, og så kan du selv
beslutte om det er pænere eller ej :)
---
private static String minuteToTimeString(int minutes) {
StringBuffer buf = new StringBuffer(5);

int h = minutes / 60;
if (h < 10) { buf.append('0'); }
buf.append(h);

buf.append(':');

int m = minutes % 60;
if (m < 10) { buf.append('0'); }
buf.append(m);

return buf.toString();
}
---

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jonathan Stein (26-05-2004)
Kommentar
Fra : Jonathan Stein


Dato : 26-05-04 09:26

NB wrote:
> if (h < 10)
> timeString = "0" + Integer.toString(h);
> else
> timeString = Integer.toString(h);

Du kan pynte lidt på disse konstruktioner med "?":

timeString = h < 10 ? "0" + Integer.toString(h) : Integer.toString(h);

> timeString = timeString + ":0" + Integer.toString(m);

Og en linje som denne kan omskrives til:

timeString += ":0" + Integer.toString(m);

- og endelig er der one-lineren:

return (minute / 60) / 10 + "" + (minute / 60) % 10 + ":" + (minute %
60) / 10 + "" + (minute % 60) % 10;

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

Per Rønne (06-06-2004)
Kommentar
Fra : Per Rønne


Dato : 06-06-04 18:12

Jonathan Stein <jstein@image.dk> wrote:

> - og endelig er der one-lineren:
>
> return (minute / 60) / 10 + "" + (minute / 60) % 10 + ":" + (minute %
> 60) / 10 + "" + (minute % 60) % 10;

Jeg håber at du joker. »Pænere« betyder gerne »mere selvdokumenterende«.

Men jeg overvejede såmænd selv at omskrive det til en »one-liner«.
--
Per Erik Rønne

Thorbjoern Ravn Ande~ (06-06-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 06-06-04 18:22

Jonathan Stein <jstein@image.dk> writes:

> - og endelig er der one-lineren:
>
> return (minute / 60) / 10 + "" + (minute / 60) % 10 + ":" + (minute %
> 60) / 10 + "" + (minute % 60) % 10;

Check SimpleDateFormat.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Jonathan Stein (08-06-2004)
Kommentar
Fra : Jonathan Stein


Dato : 08-06-04 19:24

Thorbjoern Ravn Andersen wrote:

>>- og endelig er der one-lineren:
>>
>>return (minute / 60) / 10 + "" + (minute / 60) % 10 + ":" + (minute %
>>60) / 10 + "" + (minute % 60) % 10;
>
> Check SimpleDateFormat.

Så tror jeg hellere jeg ville bruge noget NumberFormat, som tidligere
har været foreslået af andre.
Hvis man omregner minutterne til millisekunder og initialiserer en
Date med denne værdi, skal man tage højde for tidszoner og evt. sommertid.
Man får et andet problem, hvis minutterne svarer til mere end 24 timer...

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

Thorbjoern Ravn Ande~ (08-06-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 08-06-04 19:49

Jonathan Stein <jstein@image.dk> writes:

> Hvis man omregner minutterne til millisekunder og initialiserer en
> Date med denne værdi, skal man tage højde for tidszoner og
> evt. sommertid.

Det er rigtigt - jeg havde ikke fået gået helt tilbage til det
oprindelige spørgsmål da jeg svarede.

Mit svar er - efter min mening - den bedste indfaldsvinkel hvis man
starter med en dato :)



--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Jonathan Stein (08-06-2004)
Kommentar
Fra : Jonathan Stein


Dato : 08-06-04 20:01

Thorbjoern Ravn Andersen wrote:

> Mit svar er - efter min mening - den bedste indfaldsvinkel hvis man
> starter med en dato :)

Ja, dit svar var som sådan ganske fint - så venter vi bare på
spørgsmålet, som passer til...

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

Christian Holm (27-05-2004)
Kommentar
Fra : Christian Holm


Dato : 27-05-04 02:05

Dette kunne være et bud:

NumberFormat nf = new DecimalFormat("00");
return nf.format(minute / 60) + ":" + nf.format(minute % 60);
Hvis klassen ikke behøves at være thread-safe kan nf gøres til en private
static final variabel i klassen.
Bestemt ikke den hurtigeste metode, men det var jo heller ikke spørgsmålet.

Christian



Michael (06-06-2004)
Kommentar
Fra : Michael


Dato : 06-06-04 17:20


"NB" <nej@tak.dk> skrev i en meddelelse
news:MPG.1b1da1e39c9546089896a5@news.inet.tele.dk...
> private String minuteToTimeString(int minute) {
> int h = minute / 60;
> int m = minute % 60;
>
> String timeString;
> if (h < 10)
> timeString = "0" + Integer.toString(h);
> else
> timeString = Integer.toString(h);
>
> if (m < 10)
> timeString = timeString + ":0" + Integer.toString(m);
> else
> timeString = timeString + ":" + Integer.toString(m);
>
> return timeString;
> }

pre- og post-betingelser.
comments.

med venlig hilsen
Michael



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste