Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

ArraList retorna null

Olá pessoal.

Estou fazendo um projeto que recebe as notas dos alunos em um ArrayList e imprimi a soma destas notas, a média e posteriormente o desvio padrão. Porém eu travei na na soma, sempre retorna null. Segue meu código:

package com.empresa.Notas;

import java.util.ArrayList;
import java.util.List;

public class NotasDosAlunos {

    List<Double> notas = new ArrayList<>();

    private Double mediaDasNotas;
    private Double somaDasNotas;
    private Double DesviaPadraDasNotas;

    public List<Double> lerNotas(){
    for (int i = 0; i < notas.size(); i++) {
        System.out.println("As notas são: " + notas.get(i));
    }
    return notas;
    }

    public Double somaTotalNotas(){
    for (int i = 0; i < notas.size(); i++) {
        this.somaDasNotas += notas.get(i);
    }
    System.out.println("Soma das notas : " +  somaDasNotas);
    return somaDasNotas;
    }

    public static void main(String[] args) {

    NotasDosAlunos lista1 = new NotasDosAlunos();

    List<Double> notas = new ArrayList<>();
       notas.add(9.0);
       notas.add(8.0);
       notas.add(7.0);
       notas.add(10.0);
       notas.add(4.5);
       notas.add(7.5);
       notas.add(8.7);
       notas.add(10.0);
       notas.add(5.5);
       notas.add(3.9);
       notas.add(7.9);
       notas.add(6.9);
       notas.add(4.6);
       notas.add(3.9);

       lista1.lerNotas();
       lista1.somaTotalNotas();

       System.out.println(lista1.somaTotalNotas());

       }
}

Agradeço desde já.

3 respostas

Opa,

Posta a mensagem de erro da execução do teu código vai dar uma força para identificar o problema.

solução!

Encontrei o problema:

No seu método main você declarou um novo ArrayList e adicionou os valores a ele. Você deve usar o ArrayList que está na sua classe ou então atribuir os valores do array novo que você criou ao array da classe, desta forma:

lista1.notas = notas

Segue código funcional completo:

import java.util.ArrayList;
import java.util.List;

public class NotasDosAlunos {

    public List<Double> notas = new ArrayList<>();

    private Double mediaDasNotas;
    private Double somaDasNotas;
    private Double DesviaPadraDasNotas;

    public List<Double> lerNotas(){
        for (int i = 0; i < notas.size(); i++) {
            System.out.println("As notas são: " + notas.get(i));
        }
        return notas;
    }

    public void somaTotalNotas(){
        this.somaDasNotas = 0.0;
        for (int i = 0; i < notas.size(); i++) {
            this.somaDasNotas += notas.get(i);
        }
        System.out.println("Soma das notas : " +  somaDasNotas);
    }

    public static void main(String[] args) {

        NotasDosAlunos lista1 = new NotasDosAlunos();
        List<Double> notas = lista1.notas;
        notas.add(9.0);
        notas.add(8.0);
        notas.add(7.0);
        notas.add(10.0);
        notas.add(4.5);
        notas.add(7.5);
        notas.add(8.7);
        notas.add(10.0);
        notas.add(5.5);
        notas.add(3.9);
        notas.add(7.9);
        notas.add(6.9);
        notas.add(4.6);
        notas.add(3.9);

        lista1.lerNotas();
        lista1.somaTotalNotas();
   }
}

Valeu Daniel!