Galera eu estou com uma dúvida na parte de modularização, o programa tem que ler dois números, onde o primeiro é o tamanho do vetor e o segundo o número máximo que poderá ser sorteado (o vetor será aleatório), a única parte que estou com problema é para mandar os dois números para o módulo, porque sempre acaba indo só um, que no caso é o que fica na frente.
o que fiz até agora:
[code]System.out.print("Informe o primeiro número: ");
n = entrada.nextInt();
System.out.print("Informe o segundo número: ");
p = entrada.nextInt();
vetor(n,p);
}
static int vetor (int n, int p){
int i;
int [] vet=new int[n];
Random sorteio = new Random();
for (i=0; i<n; i++){
vet[i]=sorteio.nextInt(p)+i;
}[/code]
Nesse caso o módulo só lê o n porque está primeiro no vetor(n,p), se eu mudar de posição ele só lê o p, como eu faço para que ele receba os dois valores juntos ?
Olá, cara. Tudo bom?
Não sei se entendi direito.
Você disse que não consegue mandar os dois números para o método vetor?
Eu acrecido que você esteja passando sim. Qual o resultado você está dendo.
Uma coisa que não entendi também…
Se você quer que o número máximo a ser sorteado seja definido por “p”, por que está colocando +i na hora de preencher o vetor?
[quote=Kura]Entendo que você um valor randômico entre 1 e o número definido, mas perceba como você está tentando fazer isso na hora de atribuir o valor ao vetor.
Qualquer coisa postae, blz?[/quote]
Então, mas os números do vetor serão randômicos entre 1 e o número p, só que o módulo não está recebendo o p, pois está se eu coloco p como 10, mesmo assim aparece 11 no vetor.
for (i=0; i<n; i++){
vet[i]=sorteio.nextInt(p)+i;
}
Se você passar 10 no p,
ele vai gerar números entre 0 e 9.
Então digamos que ele gerou o número 9 randomicamente.
Se a variável “i” estiver com o valor 2, ele vai jogar 9 + 2 no vetor, ou seja, vai colocar o valor 11 no vetor.
Na verdade eu acho que você se enrolou e não viu que botou “+i” ao inves de “+1”.
Tenta colocar:
vet[i]=sorteio.nextInt(p)+1;
Porque (voltando ao exemplo onde p = 10) como ele vai gerar números de 0-9.
Você coloca o +1 porque o menor número gerado sempre vai ser 1 (0+1) e o maior número gerado vai ser sempre 10 (9+1).