Ir ao conteúdo
  • Cadastre-se

Java Soma cada notade aluno


Posts recomendados

Olá !! preciso fazer um programas onde crio uma estrutura representando 5 alunos da disciplina de Lógica de Programação II. A estrutura deve conter o nome do aluno, polo, nota da AO01, nota da AO02, nota da AP01 e a nota da N1. Desenvolva um programa que:
a) Para cada aluno, calcule a nota da N1, armazene no registro de cada aluno para os alunos e mostra a N1 calculada.
Até ai consegui cria o registro sem problemas, só que quando vou fazer a soma das notas para obter a N1 cada aluno a N1 do primeiro aluno soma com a do segundo tipo se o primeiro teve 4 e o segundo 6 a N1 do segundo aluno soma com a do primeiro ficanco o segundo aluno com 10.
Alguem pode me dar uma solução.
Este é o codigo que eu fiz:

import java.util.Scanner;
public class questao04{

private static class registro{
String nome;
String polo;
float notaAO01;
float notaAO02;
float N1;
float AP01;
}

public static void main(String args[]){
final int tam=5;
registro vet[]= new registro[tam];

Scanner e = new Scanner(System.in);
int i,j;
float soma=0;
float media;
float maior;

for(i=0;i<tam;i++){
vet = new registro();
vet.nome=(" “);
vet.polo=(”");
vet.notaAO01=0;
vet.notaAO02=0;
vet.N1=0;
vet.AP01=0;
}
for(i=0;i<tam;i++){
// System.out.println("\nRegisro Escolar do Aluno\n");
System.out.println("Digite o Nome do aluno(a): ");
e = new Scanner(System.in);
vet.nome = e.nextLine();

System.out.println("Digite o Nome do polo(a): ");

e = new Scanner(System.in);

vet.polo = e.nextLine();

System.out.println("Digite a nota AO01: ");

e = new Scanner(System.in);

vet.notaAO01= e.nextFloat();

System.out.println("Digite a nota AO02: ");

e = new Scanner(System.in);

vet.notaAO02= e.nextFloat();

System.out.println("Digite a nota AP01: ");

e = new Scanner(System.in);
vet.AP01= e.nextFloat();
System.out.println("\n");

soma=soma+(vet.notaAO01+vet.notaAO02)+vet.AP01;

vet.N1=soma; }

for(i=0;i<tam;i++){

System.out.println("Aluno: "+vet.nome);

System.out.println("Polo: "+vet.polo);

System.out.println("AO01: "+vet.notaAO01);

System.out.println("AO02: "+vet.notaAO02);

System.out.println("AP01: "+vet.AP01);

System.out.println("N1: " + vet.N1); }}}

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Bom dia.

Provavelmente o problema seja essa variável soma que você criou. Ela só é inicializada no começo do programa. Toda vez que laço faz uma iteração, a variável soma já possui o valor da N1 antiga e incrementa à nova nota calculada.

Ou você inicializa ela antes do uso dentro do FOR ou então remove e trabalha diretamente com a N1.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...