Pra mim foi bem complexo pensar em uma forma de calcular as notas negativas e registrar as notas inválidas , depois pensei em uma ideia , acho que não tanto correta, mas acho que valeu a tentativa, depois eu fui ver o exercicio do professor e vi que era bem mais simples do que parecia.
import java.util.Scanner;
public class Main {
static void main(String[] args) {
Aluno2 aluno2 = new Aluno2("Weid");
aluno2.adicionarNota(3.0);
aluno2.adicionarNota(4.0);
aluno2.adicionarNota(5.0);
aluno2.adicionarNota(6.0);
aluno2.adicionarNota(9.0);
aluno2.adicionarNota(10.0);
aluno2.adicionarNota(-10.0);
System.out.println("Total de notas Invalidas: " + aluno2.getNotasInvalidas());
System.out.println(aluno2.notasInvalidas());
}
}
import java.util.ArrayList;
public class Aluno2 {
private String nomeDisciplina;
private ArrayList<Double> notas;
private ArrayList<Double> notasNegativas;
private int notasInvalidas;
public Aluno2(String nomeDisciplina) {
this.nomeDisciplina = nomeDisciplina;
this.notas = new ArrayList<>();
this.notasNegativas = new ArrayList<>();
}
public int getNotasInvalidas() {
return notasInvalidas;
}
public ArrayList<Double> getNotas() {
return notas;
}
public void adicionarNota(Double nota){
if(nota >=1 && nota <=10){
notas.add(nota);
} else{
notasInvalidas++;
notasNegativas.add(nota);
}
}
public double calculaMedia(){
int soma = 0;
for(double nota : notas){
soma+=nota;
}
double media = (double) soma/notas.size();
return Math.round(media * 100.0)/100.0;
}
public String notasInvalidas (){
return "Notas invalidas Ignoradas : " + notasNegativas;
}
}