Olá, estou com um probleminha no meu código. O exercício proposto pelo professor era: Criar um método que recebe o valor do tamanho do array e retorna um array aleatório desse mesmo tamanho com números de 0 a 100. Porém o meu código só esta retornando um número aleatório.
código:
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println(“Digite o tamanho do Array:”);
int tam = teclado.nextInt();
int resul = aleatorio(tam);
System.out.println("Numeros: " + resul);
}
private static int aleatorio(int tam) {
int[] array = new int[tam];
Random gerador = new Random(tam);
int num;
for (num = 0; num < tam; num++) {
tam= gerador.nextInt(100) + 1;
}
return num;
}
}
Olá,
Isso está ocorrendo porque você confundiu as variáveis.
Seu código cria um Array porém não popula ele. Somente retorna um valor do tipo inteiro. Para corrigir só é necessário alterar o tipo de retorno do método “aleatorio” para um array de inteiros e popular a variável array e depois retorná-la. Com isso só se torna necessário mostrar o array de inteiros.
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Digite o tamanho do Array:");
int tam = teclado.nextInt();
int[] resul = aleatorio(tam);
/* Exibição do array*/
for (int i = 0; i < resul.length; i++) {
System.out.println("Numero na posição " + i + " = " + resul[i]);
}
}
/*Alteração do tipo de retorno do método*/
private static int[] aleatorio(int tam) {
int[] array = new int[tam];
Random gerador = new Random(tam);
int num;
for (num = 0; num < tam; num++) {
/* Popular o array */
array[num] = gerador.nextInt(100) + 1;
}
/*Retornar a Variável*/
return array;
}
1 curtida