Avatar billede hejhejhej Nybegynder
03. april 2003 - 21:12 Der er 7 kommentarer og
1 løsning

Random char...?

Hvordan laver jeg en metode som returnerer en random char. Den skal enten returnere 's' eller 'f'
Avatar billede ellebaek Nybegynder
03. april 2003 - 21:14 #1
double s = round(Math.random()*2)
if (s == 1)
char a = f
else
char a = s

Noget i den stil...
Avatar billede arne_v Ekspert
03. april 2003 - 21:27 #2
import java.util.Random;

private final static char[] v = { 's', 'f' }:
private Random rng = new Random();

char res = v[rng.nextInt(2)];
Avatar billede jakoba Nybegynder
03. april 2003 - 21:30 #3
næsten det samme, men med ligelig fordeling af 's' og 'f'

char[] valg = { 's', 'f' };
char a = valg[ (int)floor(Math.random()*2) ];

mvh JakobA
Avatar billede jakoba Nybegynder
03. april 2003 - 21:31 #4
Ups, kommentaren var til ellebæks.
Avatar billede ellebaek Nybegynder
03. april 2003 - 21:47 #5
smart...!

sådan havde jeg ikke tænkt på det :-)
Avatar billede arne_v Ekspert
03. april 2003 - 21:57 #6
En fjerde variant er:

char res = (Math.random() < 0.5) ? 's'  : 'f';
Avatar billede jakoba Nybegynder
03. april 2003 - 22:01 #7
men så får du den vist heller ikke kortere :-)
Avatar billede =maddog= Nybegynder
03. april 2003 - 23:19 #8
char rand = (round(Math.random()*2)==1)?'s':'f';
hvis du ikke kan lide one-liners.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester