Seguinte, estou usando a Math.random() pra gerar numeros aleatorios, mas preciso q os numeros gerados tenham sempre 13 length().
Estou tentando assim.
public class GeraNumerosAleatorios {
private Long numero;
public GeraNumerosAleatorios(Long n){
numero = n;
}
public Long getNumeroAleatorio(){
long i = (long)(1 + Math.random() * numero);
return i;
}
public static void main(String[] args){
Long n = new Long("0123456789012");
GeraNumerosAleatorios gn = new GeraNumerosAleatorios(n);
System.out.println(gn.getNumeroAleatorio());
System.out.println(gn.getNumeroAleatorio().toString().length());
}
}
Como eu faço para que sempre q gerar o numero aleatorio ele tenha o length() de 13 ???
Vai gerar um numero entre 0 e 9999999999999[/quote]
eu preciso gerar de com tamanho length() 13, nao 99999…E preciso atraves de um parametro passado com 13 numeros tbm.
aqui
public class GeraNumerosAleatorios {
private Long numero;
public GeraNumerosAleatorios(Long n){
numero = n;
}
public Long getNumeroAleatorio(){
long i = (long)(Math.random() * numero);
return i;
}
public static void main(String[] args){
Long n = new Long("0123456789012"); // novo long com tamanho 13
GeraNumerosAleatorios gn = new GeraNumerosAleatorios(n); //passo o long
System.out.println(gn.getNumeroAleatorio()); //gero o numero
System.out.println(gn.getNumeroAleatorio().toString().length()); //pego o length do numero q deve ser sempre 13
}
}
Deixa ver se entendi, você quer que o sistema gere um numero entre 1000000000000 e 9999999999999, sempre com 13 digitos.
Não entendi oque aquele numero que voce passa para o metodo deve fazer.
Agora vai ter sempre 13 digitos:
long i = (long) (1000000000000 + Math.random() * 8999999999999l);
Treze dígitos entre 0 e 9999999999999 ou entre 1000000000000 e 9999999999999?
Se for a primeira opção você gera um qualquer entre esses valores e depois preenche com zero (sendo que os zeros a esquerda serão desconsiderados para fins de cálculo).
Se for a segunda opção acho que o código do Mordor serve:
long i = (long) (1000000000000 + Math.random() * 8999999999999l);
Você quer gerar um número aleatório de CPF ou CNPJ para poder testar seu sistema, é isso?
Não se esqueça que há números de CPF e CNPJ que começam por um ou mais zeros. Portanto, não é preciso limitar seu gerador de números aleatórios a números que vão de 10000000…000 até 999999…999.
[quote=Mordor]Deixa ver se entendi, você quer que o sistema gere um numero entre 1000000000000 e 9999999999999, sempre com 13 digitos.
Não entendi oque aquele numero que voce passa para o metodo deve fazer.
Agora vai ter sempre 13 digitos:
long i = (long) (1000000000000 + Math.random() * 8999999999999l); [/quote]