Gerar numeros randomicos positivos java

5 respostas Resolvido
Rui_Silva

Boa tarde pessoal… desde já pesso desculpa pela minha ignorancia mas a minha duvida é a seguite.
Eu quero criar um numero aleatório positivo. Depois de pesquisar vi que normalmente é usado o util.Random, então eu criei o seguinte codigo:

import java.util.Random;
public class Conta {

int numeroConta;

Random ale = new Random();

numeroConta = (ale.nextInt(1000) + 1) * [telefone removido];

}

o que se passa é que ele continua a gerar numeros negativos quanto positivos. Alguem me consegue dizer qual o meu erro…
Pois todas as minhas pesquisas dizem que esse seria a maneira de criar apenas positivos inteiros.

Desde já meu muito obrigado

5 Respostas

TerraSkilll
Solucao aceita

Você quer gerar qualquer número positivo, ou ele precisa ter uma certa quantidade de dígitos (ex: 7 dígitos)?

O próprio nextInt (com um parâmetro de tamanho) já gera números positivos, mas a sua multiplicação por [telefone removido] pode estar fazendo o número gerado extrapolar o limite de representação de inteiros no Java, o que faz com que o resultado seja “estranho” (números negativos, por exemplo).

Abraço

Rui_Silva

Obrigado pela resposta… então voce acha que o problema está em eu multiplicar por um outro numero?

Irei então testar sem multiplicar, obrigado.

Rui_Silva

Boas penso que seria mesmo esse o problema.

Obrigado pela ajuda amigo. Abraço

staroski

Exatamente.

Qualquer número randômico acima de 2 fará essa multiplicação extrapolar, já que o valor máximo de um int é [telefone removido].

Se precisar de um número maior, utilize long.

Rui_Silva

Foi isso mesmo, nob a fazer nobices XD.

obrigado pela ajuda.

Abraços

Criado 14 de junho de 2020
Ultima resposta 16 de jun. de 2020
Respostas 5
Participantes 3