Exercicio sobre Vetores

Olá pessoal, estou com duvida neste exercício, a minha duvida é pq a variável “alunos” foi guardado dentro de um vetor tipo String e logo em seguida é guardado em outra variável, o código funciona, porem eu não entendi essa estrutura, para min eu deveria criar uma estrutura para o nome e para as notas dos alunos porem o “numero de alunos” foi guardado nas duas variáveis, se alguém puder esclarecer por que isso é necessário eu agradeceria (a parte q está como comentário é o enunciado do exercício)

import java.util.Scanner;

public class vetor_Again {
public static void main(String[] args) {

    /*
    Leia um conjunto de alunos, cada uma com o nome e a nota. 
    Em seguida exiba o nome dos alunos que possuem 
    a nota maior do que a média da turma
     */

    Scanner tec = new Scanner(System.in);
    
    int alunos;
    double total=0, media;

    
    System.out.println("Digite o numero de alunos: ");
    alunos = tec.nextInt();

   String[] nome = new String[alunos];
   int[] nota = new int[alunos];

   for(int i=0;i<alunos;i++){
        System.out.println("Digite o nome dos aluno "+(i+1));
        nome[i] = tec.next();
        System.out.println("Digite as nota "+ (i+1));
        nota[i] =tec.nextInt();

        total = total + nota[i];
    }

    media = total / alunos;

    System.out.println("Total: "+total);
    System.out.println("Media: "+media);

}

}

Para cada aluno, tu vai precisar de uma respectiva nota, correto? Então, é preciso que os dois vetores, tanto o do tipo String (nome) e inteiro (nota) tenha a mesma capacidade de inserção de dados, pois toda vez que tu inserir aluno de nome fulano no vetor de nomes, terá que inserir sua respectiva nota.

A variável int alunos também é utilizada para questionar ao usuário quantos dados de alunos serão inseridos no sistema [alocados nos vetores nome e nota], por esse motivo ela se faz necessária ser alocada para definir o tamanho desses dois vetores.

Espero ter ajudado e solucionado sua dúvida.

1 curtida

Olá, obrigado pela resposta, mas ainda não ficou claro para mim, quando eu coloco a variável alunos q é do tipo int no vetor tipo String n era supostamente para ocorrer um erro de tipos incompatíveis ? ainda estou confuso na estrutura desses vetores recebendo a variável “alunos”

Boa tarde Giiovanni!!
Sou um iniciante em Java, espero ter entendido sua dúvida.
No caso a variável alunos esta fornecendo ao vetor a quantidade de elementos que o vetor precisa.
Por exemplo: se você fosse inserir 10 alunos, seu vetor precisaria ter capacidade para 10 elementos. Então ficaria assim:

String[] nome = new String[10];
int[] nota = new int[10];

Mas no seu caso você esta trocando pela variável alunos, que obrigatoriamente deve ser tipo int, pois você esta indicando o número de elementos que o vetor precisa

Espero ter ajudado.

1 curtida

Obrigado Magron, essa não era a minha duvida mas através da sua resposta consegui entender o problema, muito obrigado amigo !!!