Retornar um Array aleatório de um método fora da main

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

Oh, muito obrigada pela ajuda!!! :star_struck::star_struck::star_struck:

1 curtida