mais uma coisa que vc vai precisar
java.util.Math.random(); para pegar um valor randomico… por exemplo
Math.random() cria um valor randomico entre 0 e 1, este valor é um double, quando queremos um número
inteiro em um intervalo, fazemos assim
int intervalo = 100
double randomico = Math.random() * intervalo …
assim teremos um numero entre 0 e 100, pois o intervalo maximo é 100, porem ainda assim o número será um double, se queremos um interio então fazemos
int randomico = (int) Math.random() * intervalo;
porem não sabemos c este valor randomico é par ou impar… para isso podemos fazer randomico%2 … isso pega o resto da divisão por 2, qualquer número par, divido por 2 tem resto = 0, quando o resto é igual a 1 ele é impar, portanto para garantir 100% que um número seja par so fazer:
randomico = randomico - randomico%2
neste caso se o resto da divisao por 2 for 1, ou seja se o número for impar, ele simplismente subtrai o resto, fazendo o número virar par.
para garantirmos que um número seja impar é so fazer
randomico = randomico - randomico%2 + 1
nesta caso a 1° parte tranforma o numero num par, e sabemos que somando 1 o número vira automaticamente impar ^^
import java.util.Math;
//Classe para criar inteiros randomicos ate o maximo valor definido
public class RandomParImpar {
/**
* guarda o valor maximo
*/
private final int maximoValue;
/**
* Cria uma classe para randomizar inteiros de 0 ao valor maximo definido no parametro
*/
public RandomParImpar(int maximoValue) {
this.maximoValue = maximoValue;
}
/**
* Cria um valor randomico PAR entre 0 e maximoValue
*/
public int createRandomPar() {
int result = (int) (maximoValue * Math.random());
return result - result%2;
}
/**
* Cria um valor randomico IMPAR entre 1 e maximoValue
*/
public int createRandomImpar() {
int result = createRandomPar();
return (result == 0) ? result + 1 : result - 1;
}
}
//modo de usar
RandomParImpar random = new RandomParImpar(1000);
int par = random.createRandomPar();
int impar = random.createRandomImpar();