Preencher Vetor com variável

6 respostas
Haroldo_Furtado

Estou com o seguinte problema. Quero criar um programa básico que lê o número referência do aluno pede a quantidade de notas desse aluno e faz a média jogando as informações para o usuário. Estou tentando fazer um vetor que receba a quantidade de posições através de uma variável. Desculpe a pergunta tão tola, é que eu comecei a estudar Java agora, saindo de algoritmo. Se puderem me ajudar ficarei grato. Segue abaixo o código:

package vetormédias2;
import java.util.*;

public class Main {

    
    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        int aluno;
        int qnotas;
        int contador = 1;
        int vet[]; // No caso eu não inicializo para poder entrar com os espaços atribuidos pela variável qnotas.

        //Digita o número referência do aluno. (Não utilizei nome pq não sei como fazer.)
        System.out.println("Digite o número referência do aluno: ");
        aluno = sc.nextInt();

        //Digita a quantidade de notas a serem calculadas.
        System.out.println("Digite a quantidade de notas a serem calculadas: ");
        qnotas = sc.nextInt();

        vet[] = new int[qnotas]; //Aqui é o meu grande problema.
        
        for (int i = 0; i < qnotas; i++) {
            System.out.println("Digite a " + contador + "° nota: ");
            
            //Aqui deveria entrar o vetor que eu não estou sabendo colocar.

            contador = contador++;

        }
        //Aqui será calculada a média do aluno.


        //Verificar se o aluno é aprovado ou não.

        //Exibe os dados com as informações na tela.
    }

}

6 Respostas

nel

Então, você quer um vetor para armazenar as notas perfeito? É bem simples amigo, apenas altere o seu loopp assim:

int contador = 1; for(int i =0; i<vet.lenght; i++{ System.out.println("Digite a " + contador + "° nota: "); vet[i] = sc.nextInt(); contador++; }
Abraços.

Haroldo_Furtado

Havia uns erros no código que você me passou e mesmo com as informações que você me deu, o problema não foi resolvido. Você poderia me dizer para que serve esse .length? O erro acusado é de que o vetor não foi inicializado. Segue o código:

package vetormédias2;

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int aluno;
        int qnotas;
        int vet[]; // No caso eu não inicializo para poder entrar com os espaços atribuidos pela variável qnotas.

        //Digita o número referência do aluno. (Não utilizei nome pq não sei como fazer.)
        System.out.println("Digite o número referência do aluno: ");
        aluno = sc.nextInt();

        //Digita a quantidade de notas a serem calculadas.
        System.out.println("Digite a quantidade de notas a serem calculadas: ");
        qnotas = sc.nextInt();

        int contador = 1;
        for (int i = 0; i < vet.length; i++)  {
            System.out.println("Digite a " + contador + "° nota: ");
            vet[i] = sc.nextInt();
            contador++;
        }

    }
    //Aqui será calculada a média do aluno.
    //Verificar se o aluno é aprovado ou não.
    //Exibe os dados com as informações na tela.
    }
ptcmariano

esse .lenght faz o laço ir até o tamanho maximo do vetor to estudando e tentando fazer aqui depois posto algo que possa ajudar se conseguir

nel

vet[] = new int[qnotas]; //Aqui é o meu grande problema.

Voce retirou essa parte do código?
E ao invés de int vet[] declara private int vet[] no inicio da sua classe fora do seu método.

Mas acho melhor usar list ainda, fica a seu critério. E o .lenght informa o tamanho do seu vetor.

ptcmariano

realmente em lista deve ser mais facil
:roll:

nel
List<Integer> list = new ArrayList<Integer>();

        int contador = 1;  
         for (int i = 0; i < vet.length; i++)  {  
             System.out.println("Digite a " + contador +  nota: ");  
             list.add(sc.nextInt());  
             contador++;  
         }  
         //pega as notas
         for(Integer notas : list){
           //sua logica
          }

É por ai abraços

Criado 14 de novembro de 2009
Ultima resposta 14 de nov. de 2009
Respostas 6
Participantes 3