Olá pessoal, ja tive um problema parecido com esse, o erro era no scanner (nextLine(); porém parece que continua o mesmo erro mesmo eu consertando esse problema, o “return estudante” simplesmente não funciona, quando coloco public void getEstudante(){ system.out.println(estudante)} ele vai normal, mostra o nome dele, porém esse pratica não é legal de se fazer na classe, mas o return não funcona de jeito nenhum, vou colocar os códigos a baixo:
public class Classe {
private String estudante;
private int matricula;
private float []notas;
public String getEstudante() {
return estudante;
}
public void setEstudante(String estudante) {
this.estudante = estudante;
}
*essa foi a parte importante da classe, a baixo tem a main:*
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Classe> lista = new ArrayList<Classe>();
Scanner sc = new Scanner(System.in);
float notas[] = new float[2];
int opc = 4;
int cont = 1;
while(opc != 0) {
System.out.println("Informe a opção desejada: \n"
+ "1. Cadastrar Estudante: \n"
+ "2. Obter nome do estudante \n"
+ "3. Calcular média do aluno \n"
+ "0. Sair");
opc = sc.nextInt();
switch(opc) {
case 1:
System.out.println("infore o número de matricula do estudante");
int matricula = sc.nextInt();
sc.nextLine();
System.out.println("Informe o nome do estudante");
String nome = sc.nextLine();
for(int i=0;i<notas.length;i++) {
System.out.println("Informe a "+cont+"° nota");
notas[i] = sc.nextFloat();
cont++;
}
Classe al = new Classe(nome,matricula,notas);
lista.add(al);
System.out.println("Aluno criado com sucesso");
break;
case 2:
System.out.println("Informe o numero de matricula");
int buscar_aluno = sc.nextInt();
for(Classe f: lista) {
if(buscar_aluno == (f.getMatricula()));
System.out.println("ACHEI!");
f.getEstudante();
}
PS: AS CHAVES ESTÃO FECHADAS CORRETAMENTE A BAIXO
SAIDA DO PROGRAMA:
Informe a opção desejada:
1. Cadastrar Estudante:
2. Obter nome do estudante
3. Calcular média do aluno
0. Sair
1
infore o número de matricula do estudante
02
Informe o nome do estudante
LUAN
Informe a 1° nota
7
Informe a 2° nota
7
Aluno criado com sucesso
Informe a opção desejada:
1. Cadastrar Estudante:
2. Obter nome do estudante
3. Calcular média do aluno
0. Sair
2
Informe o numero de matricula
02
ACHEI!
#AQUI ERA PRA ESTAR APARECENDO O NOME LUAN, MAS NÃO APARECE
Informe a opção desejada:
1. Cadastrar Estudante:
2. Obter nome do estudante
3. Calcular média do aluno
0. Sair