On Wed, 13 Oct 2004, Andreas Tellefsen wrote:
> Evnt hvordan kunne jeg ellers gjøre det? Vi har altså 3 tall, og vi vil
> finne ut hvilket av de tre som er det minste. Vi snakker om nybegynner
> her, så selv om det kanskje finnes enklere (som i mindre kode) måter å
> gjøre det på, så er det med en if-sjekk at jeg vil gjøre det, tror
> jeg...
if fungerer bra det. Den enklere muligheten du snakker om kan være:
System.out.println(Math.min(a, Math.min(b, c)));
--
Lars Christian Jensen
Ellers: ha "} else {" på en linje for seg selv - det er enklere å se
slikt da.
Geir
Fant nettopp ut min feil med litt hjelp - men takk for tipset, må
begynne med den strukturen. Da slipper jeg forhåpentligvis liknende
problemer i fremtiden.
Kortere notasjon for å gjøre det samme:
System.out.println( talla < tallb ? tallb < tallc ? talla : tallc : tallb);
Ellers så hadde du glemt en krøllparentes forran første else.
--
Mvh
Jan Vidar Krey
> Kortere notasjon for å gjøre det samme:
> System.out.println( talla < tallb ? tallb < tallc ? talla : tallc :
> tallb);
Et godt eksempel på hvorfor "kortere" ikke alltid er "bedre".
Det morsomme er at denne varianten verken er riktig eller gjør det samme
som originalen. Faktisk er den heller dårligere; dersom du permuterer tre
forskjellig tall, feiler originalen bare(??) i 1 av 6 tilfeller, mens
denne bommer på 2 av 6.
--
Lars Christian Jensen
Ja, var litt for rask der, den andre teststen skulle naturilgvis sjekket
talla (ikke tallb) mot tallc slik at den ville være lik originalen, og for
å være helt korrekt skulle b og c sjekkes opp mot hverandre dersom første
testen feiler.
Den korrekte setningen blir slik:
System.out.println(a < b ? a < c ? a : c : b < c ? b : c);
Personlig vil jeg foretrekke én slik linje fremfor 10 linjer med dødkode -
forutsatt at det virker! :)
-jv-
--
Jan Vidar Krey
Ser jo ut som om du har fått orden på det. Som nybegynner er det greit å
tydliggjøre klammeparantesene som Geir er inne på. Også når det bare er
en linje som skal utføres.
//...
if(betinglese)
{
//...
}
else
{
//...
}
//...
> Det er noe med disse else'ene, og jeg regner med det er en liten
> syntaks-feil, men klarer ikke å se hva det skulle være, etter å ha sett
> opp og ned på det flere ganger... på forhånd takk!