import java.util.ArrayList;
import java.util.List;
public class Disciplina {
private String nome;
List<Double> notas;
private double somaDasNotas;
private int notasValidas;
public Disciplina(String nome) {
this.nome = nome;
this.notas = new ArrayList<>();
this.somaDasNotas = 0;
this.notasValidas = 0;
}
public void adicionarNota(double nota) {
notas.add(nota);
System.out.println("Nota adicionada à lista de notas da disciplina.");
}
public double calcularMedia() {
if (notas.isEmpty()) {
return 0;
} else {
for (double nota : notas) {
if (nota < 0 || nota > 10) {
continue;
}
this.somaDasNotas += nota;
this.notasValidas++;
}
return this.somaDasNotas / this.notasValidas;
}
}
public void exibirInformacoes() {
for (double nota : notas) {
if (nota < 0 || nota > 10) {
System.out.println("Nota inválida ignorada: " + nota);
}
}
System.out.printf("""
Total de notas válidas: %d
Média em %s: %.2f
""", this.notasValidas, this.nome, calcularMedia());
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Digite o nome da disciplina: ");
Disciplina disciplina = new Disciplina(scanner.nextLine());
do {
System.out.println("Deseja adicionar uma nota à lista de notas da disciplina (\"sim\"/\"não\")? ");
String entrada = scanner.nextLine();
if (entrada.equalsIgnoreCase("sim")) {
System.out.println("Digite a nota a ser adicionada: ");
disciplina.adicionarNota(scanner.nextDouble());
scanner.nextLine();
} else if (entrada.equalsIgnoreCase("não")) {
disciplina.calcularMedia();
break;
}
} while (true);
System.out.println("Informações da disciplina: ");
disciplina.exibirInformacoes();
}
}