O método random que eu conheço está na classe Math e só consegue trabalhar com números numa faixa de 0.0 até 0.99.
O que você pode fazer é colocar um índice na frente de cada nome no arquivo por exemplo, depois com o método random() multiplicar pelo índice e obter o nome aleatoriamente.
Também depende de como esses nomes estão no arquivo, um após o outro na mesma linha ou cada um em uma linha separada?
Fanpix
Ok, peço desculpas pela falha na expressão.
O que eu quero é saber como sortear nomes, números e nomes com números em um único arquivo para deixá-los em ordem aleatória.
Acrescentei um índice na frente de cada linha, depois na hora de sortear você pode usar o Math.random() * índice da linha
E quando exibir a palavra sorteada, lembre-se de remover o primeiro caracter (índice no caso), usando:
palavra.substring(1,palavra.length);
FabioNoth
Tenta jogar um índice para cada valor.
Ex:
[0] Maria
[1] João
[2] Jose.
E depois fazer um sorteio.
Pra fazer o ídice tente pegar o arquivo por quebra de linha. Algo como ‘/n’
Adicionar em um array.
Depois so fazer um sorteio e pegar o indice.
Não sei se fui claro.
A
a1b21
wellington.nogueira:
Leia todos os nomes, coloque-os em uma Collection. Depois utilize o random para obter um índice e use o método get(int index).
Estou supondo que você saiba utilizar o random.
Se quiser os nomes ordenados, escolha adequadamente a Collection para isso ;)
Também acho uma boa idéia, evita até ficar lendo arquivo e tratando string’s desnecessariamente, vivendo e aprendendo.
Fanpix
madrugalee:
wellington.nogueira:
Leia todos os nomes, coloque-os em uma Collection. Depois utilize o random para obter um índice e use o método get(int index).
Estou supondo que você saiba utilizar o random.
Se quiser os nomes ordenados, escolha adequadamente a Collection para isso ;)
Também acho uma boa idéia, evita até ficar lendo arquivo e tratando string’s desnecessariamente, vivendo e aprendendo.
Ok, vou fazer isso depois posto aqui o resultado.
E
entanglement
Pergunta. Você quer embaralhar (em inglês, “shuffle”) o arquivo de entrada (ou seja, você tem 30.000 entradas e quer criar outro arquivo com 30.000 entradas) ou você quer fazer um sorteio (em inglês, “draw”) para escolher algumas poucas entradas?
WellingtonRamos
Leia todos os nomes, coloque-os em uma Collection. Depois utilize o random para obter um índice e use o método get(int index).
Estou supondo que você saiba utilizar o random.
Se quiser os nomes ordenados, escolha adequadamente a Collection para isso