Math.random

Por favor gostaria de saber se existe uma maneira de pré determina o valor do Math.random???
Ex: Math.random entre 0.10 e 0.15.

Use a classe random que é melhor que o Math.random

PS: Os valores 0.10 à 0.15 pode ser um valor de 1 a 5 somado a 10 dividido por 100

Random rdm = new Random();
int proximoNumero = rdm.nextInt(5);//Limitamos o resultado até 5
double numero = (proximoNumero + 10)/100;
System.out.println(numero);

POG brabo

Random r = new Random(System.currentTimeMillis()); System.out.println(new DecimalFormat("0.00").format(r.nextInt(6)/100d + 0.10d));
O nextInt(int) tem que ser até 6 porque é exclusivo (0 até 5)

:twisted:

Siga a dica do Mark. Só cuidado com as contas envolvendo inteiros. O ideal é fazer assim:

Random rdm = new Random(); //Troque a variável para double double proximoNumero = rdm.nextInt(5);//Limitamos o resultado até 5 //Senão essa linha sempre retornará 0, já que fará divisão de inteiros. double numero = (proximoNumero + 10)/100; System.out.println(numero);

viugii…
E oq q houve com o velho

int x = (int) (Math.random() * 10)

??

[quote=uchoaaa]viugii…
E oq q houve com o velho [/quote]

Ele gera péssimos resultados. Especialmente no número extremo, como o 10.
É o que acontece quando vc trunca (a única chance de dar 10 é o random dar 1. Se der 0,9 0,8, 0,7, 0.71, 0.72, o resultado é 9, meio injusto com o 10, não acha?)

[quote=ViniGodoy]
Ele gera péssimos resultados. Especialmente no número extremo, como o 10.
É o que acontece quando vc trunca (a única chance de dar 10 é o random dar 1. Se der 0,9 0,8, 0,7, 0.71, 0.72, o resultado é 9, meio injusto com o 10, não acha?)[/quote]

hmmm, faz sentido… :wink:
E fora o Casting evitado, né?!

Tá bom, tá bom, é mais elegante, coitado do meu POG! :cry:

Mas o nextInt(number) tem que ser com 6 pra pegar o 5! :slight_smile:

Mas meu professor quer que eu use o bendito Math.random

Eu fiz de uma maneira só que ele nem sempre gera numeros entre 10 e 15 que foi o valor estimado!!!

[code]

public class Bovinos {

public static void main (String [] args) {
	int [] vetor = new int [20];
	
	for (int i=0; i<vetor.length; i++)
		vetor[i] = (int)(Math.random()*300/15);
		
   	for (int aux: vetor)
   		
		System.out.println(aux);
	
}

}[/code]

[code]public class Bovino {
public static void main (String [] args) {
int [] vetor = new int [20];

    for (int i=0; i<vetor.length; i++)  
         vetor[i] = (int)(Math.random()*10 %6 + 10);  
           
     for (int aux: vetor)  
           
         System.out.println(aux);  
       
 }     

} [/code]

Faz isso que o random entre 10-15 funciona direito.

Aproveita e pede para ele ler o item 30, do capítulo 7 do Effective Java, chamado “Know and use the libraries”.
Entre os exemplos, está especificamente o random.

Muito obrigado pela ajuda de todos!!!
E aproveitando gostaria de saber se alguêm sabe o porquê na minha casa os programas compilam e rodam normalmente (Tenho o JSE 1.6 e o Jcreator) e aqui no serviço compilo pelo http://www.innovation.ch/java/java_compile.html e tenho instalado o JRE porém o erro está na hora de compilar???

Não está esquecendo de escolher a versão do JDK?

Aproveita e pede para ele ler o item 30, do capítulo 7 do Effective Java, chamado “Know and use the libraries”.
Entre os exemplos, está especificamente o random.[/quote]

Massa Vini!! :lol: :lol:

Quanto tempo hein, nem te vejo no MSN mais… vida puxada :lol:

abraço;