Como somar itens de dois arrays diferentes?

Acredito que a forma que eu estou somando esteja errada, eu pesquisei bastante antes de perguntar aqui e não achei, podem me ajudar?

package exercjava2205;
import java.util.Scanner;

public class Aluno {

    public static void main(String[] args) {
        // TODO code application logic here
        Scanner scan = new Scanner(System.in);
        System.out.println("---------------------------------------");
        System.out.println("---------Bem Vindo ao SysAluno---------");
        System.out.println("--------------Versão 1.0---------------");
        System.out.println("-----Desenvolvido por Diego Lamarão----");
        System.out.println("---------------------------------------");
        System.out.println("");
        System.out.print("Digite a quantidade de Alunos: ");
        int numAlunos = scan.nextInt();
        double media;
        
        double[] av1 = new double[numAlunos];
        double[] av2 = new double[numAlunos];
        System.out.println("-------------------AV1------------------");
        for(int x = 0; x < numAlunos; x++){
            System.out.print("Insira a AV1 do " + (x+1) + "º aluno: ");
            av1[x] = scan.nextDouble();           
        }
        System.out.println("------------------AV2-------------------");
        for(int x = 0; x < numAlunos; x++){            
            System.out.print("Insira a AV2 do " + (x+1) + "º aluno: ");
            av1[x] = scan.nextDouble();
        }
        System.out.println("----------Média dos Alunos----------");
        for(int x = 0, y = 0; x < numAlunos && y < numAlunos; x++, y++){
            media = av1[x] + av2[y] / 2;           
            System.out.println("O " + (x+1) + "º Aluno teve uma média de " + media);
        } 
    }
 }

Aqui vc ta sobrescrevendo o array av1 que vc preencheu acima… nao devia ser av2[x] = scan.nextDouble() ?

Depois, pra calcular a média, é só fazer o “for”, passando por todos os alunos:

    System.out.println("----------Média dos Alunos----------");
    for(int i = 0; i < numAlunos-1; i++){
        media = av1[i] + av2[i] / 2;           
        System.out.println("O " + (i+1) + "º Aluno teve uma média de " + media);
    }

Nossa man que vergonha… kkkk desculpa, foi falta de atenção minha na hora do ctrl C ctrl Z… desculpa mais uma vez…

Só lembrando que av1[i] + av2[i] / 2 é igual a av1[i] + (av2[i] / 2)
Que é diferente de (av1[i] + av2[i]) / 2, que seria a média.

1 curtida

Uia, bem notado

Mas é exatamente a média da av1 com a av2 que eu quero… não entendi o que quis dizer…

Pode me explicar qual a diferença? Por que matematicamente eu achei que fiz certo.

Ah ta, ja entendi…

Multiplicações e divisões tem precedência à somas e subtrações, então, quando você faz a + b / c, primeiro ocorrerá a divisão de b por c e depois esse resultado será somado com a.
Para calcular a média, somam-se os valores e depois divide-se essa soma pela quantidade de valores somados.
Por isso é necessário pôr a soma entre parênteses.