Alguém pode me ajudar com essa questão:
Questão 01: Escreva um programa que faça cadastros de estudantes, a classe estudante deve ter nome, endereço, primeira nota e segunda nota. Faça uma classe teste que ofereça as seguintes opções:
- Cadastrar estudantes
- Mostrar lista de estudantes
- Alterar nota(busca pelo nome)
- Sair
public class Estudante {
private String nome;
private String endereco;
private double nota1;
private double nota2;
public Estudante(String nome, String endereco, double nota1, double nota2) {
this.nome = nome;
this.endereco = endereco;
this.nota1 = nota1;
this.nota2 = nota2;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public double getNota1() {
return nota1;
}
public void setNota1(double nota1) {
this.nota1 = nota1;
}
public double getNota2() {
return nota2;
}
public void setNota2(double nota2) {
this.nota2 = nota2;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Teste {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Estudante> lista = new ArrayList<Estudante>();
while(true) {
System.out.println("1. Cadastrar estudante \n2. Mostrar lista de estudantes \n3.Alterar nota(busca pelo nome) \n0. Sair");
int escolha = sc.nextInt();
if(escolha == 1) {
System.out.println("Digite o nome do estudante");
String n = sc.nextLine();
sc.nextLine();
System.out.println("Digite o endereço");
String e = sc.nextLine();
Estudante est = new Estudante(n,e,0,0);
lista.add(est);
} else if(escolha == 2) {
for(Estudante estu: lista) {
System.out.println(estu.getNome());
System.out.println(estu.getEndereco());
System.out.println(estu.getNota1());
System.out.println(estu.getNota2());
}
} else if(escolha == 3) {
System.out.println("Digite o nome do estudante");
String busca = sc.nextLine();
for(Estudante estu: lista) {
if(estu.getNome() == busca) {
System.out.println("Digite a 1º nota");
double altera = sc.nextDouble();
System.out.println("Digite a 2º nota");
double altera2 = sc.nextDouble();
estu.setNota1(altera);
estu.setNota2(altera2);
}
}
} else if(escolha == 0) {
break;
}
}
}
}
A minha dificuldade é que na hora de mostrar a lista o nome e endereço ficam em branco