Crie uma classe de nome Aluno com atributos privados para nome, nota1, nota2 e média, métodos set e get e os métodos:

Boa noite , estou tendo aula de POO na faculdade, e estou com dificuldade neste exercício, onde o professor pede para Crie uma classe de nome Aluno com atributos privados para nome, nota1, nota2 métodos set e get e os métodos:

  • achaMaiorNota1 que recebe 3 Alunos e retorna qual o
    nome do aluno com a maior nota1.
    Fiz o exercício desse jeito mais nao esta me dando a resposta que eu quero.

package dadosaluno;
public class Aluno {
private String nome,nome2,nome3;
private float nota1,nota2,nota3;

public String getnome(){
    return this.nome;
}
public void setnome(String nome){
    this.nome = nome;
}
public String getnome2(){
    return this.nome2;
}
public void setnome2(String nome2){
    this.nome2 = nome2;
}
public String getnome3(){
    return this.nome3;
}
public void setnome3(String nome3){
    this.nome3 = nome3;
}
public float getnota1(){
    return this.nota1;
}
public void setnota1(float nota1){
    this.nota1 = nota1;
}
public float getnota2(){
    return this.nota2;
}
public void setnota2(float nota2){
    this.nota2 = nota2;
}
public float getnota3(){
    return this.nota3;
}
public void setnota3(float nota3){
    this.nota3 = nota3;
}
void imprimir(){
    System.out.println("Nome do primeiro Aluno: "+this.nome);
    System.out.println("Nome do segundo Aluno: "+this.nome2);
    System.out.println("Nome do terceiro Aluno: "+this.nome3);
    System.out.println("Nota do "+this.nome+" "+this.nota1);
    System.out.println("Nota do "+this.nome2+" "+this.nota2);
    System.out.println("Nota do "+this.nome3+" "+this.nota3);
}
    
void acharMaiorNota1(){
   
    
    if(( nota1 > nota2 ) && ( nota1 >nota3 )) {
        System.out.println("A nota do Aluno(a)"+this.nome+" é maior que a do(a)"+this.nome2+" e a do(a)"+this.nome3);
    }
    
    if(( nota2 >nota1 ) && ( nota2 > nota3 )){
        System.out.println("A nota do Aluno(a)"+this.nome2+" é maior que a do(a)"+this.nome+" e a do(a)"+this.nome3);
    } 
    else {
        System.out.println("A nota do Aluno(a) "+this.nome3+" é maior que a do(a) "+this.nome+" e a do(a)"+this.nome2);
    }
    
    
}
      
   
}

quando eu vou no MAIN eu coloco isso:
package dadosaluno;
public class DadosAluno {
public static void main(String[] args) {
Aluno novoaluno = new Aluno();
novoaluno.setnome(“Felipe”);
novoaluno.setnome2(“Pedro”);
novoaluno.setnome3(“Gabriel”);
novoaluno.setnota1(7f);
novoaluno.setnota2(4f);
novoaluno.setnota3(2f);
novoaluno.imprimir();
novoaluno.acharMaiorNota1();

não sei mais que comando usar para fazer esse exercicio

3 nomes?
O enunciado diz que um Aluno tem um nome.

3 notas?
O enunciado diz que um Aluno tem uma nota1 e uma nota2

Tem algo errado aí, não acha?
Provavelmente você tem que fazer algo do tipo:

Aluno aluno1 = new Aluno();
aluno1.setNome("Felipe");
aluno1.setNota1(7f);
aluno1.setNota2(4f);
aluno1.imprimir();

Aluno aluno2 = new Aluno();
aluno2.setNome("Pedro");
aluno2.setNota1(8f);
aluno2.setNota2(6f);
aluno2.imprimir();

Aluno aluno3 = new Aluno();
aluno3.setNome("Pedro");
aluno3.setNota1(10f);
aluno3.setNota2(5f);
aluno3.imprimir();

Aluno.acharMaiorNota1(aluno1, aluno2, aluno3);

Você pode calcular o Aluno com a maior nota1 dessa forma:

public static void acharMaiorNota1(Aluno aluno1, Aluno aluno2, Aluno aluno3){
	Aluno alunoComMaiorNota = maiorNota1(aluno1, maiorNota1(aluno2, aluno3));
	System.out.println("O Aluno(a) " + alunoComMaiorNota.getNome() + " tem a maior nota");
}

private Aluno maiorNota1(Aluno aluno1, Aluno aluno2) {
	return aluno1.getNota1() > aluno2.getNota1() ? aluno1 : aluno2;
}
1 curtida

Olá, você está caindo em um erro de entendimento de OO este erro é normal ocorrer quando se está aprendendo.
Veja se consegue entender:
Classe é a definição de Aluno
Objeto é a criação de um Aluno criado a partir da Classe a qual chamamos de instância.
No exemplo que você enviou você está criando uma classe com 3 nomes e está incorreto, pense no mundo real você não pode ter um aluno com 3 nomes diferentes ?? O correto é um único Aluno com 3 notas.
O Aluno Felipe possui as notas 7, 4 e 2
O Aluno Pedro possui as notas 7, 7 e 6
O Aluno Gabriel possui as notas 5, 7 e 8

Então sua classe Aluno ficaria assim:
public class Aluno{
private String nome;
private float nota1;
private float nota2;
private float nota3;
void acharMaiorNota(){…}
void imprimir(){…}

}
Classe main…
Aluno aluno = new Aluno();
aluno.setNome(‘Felipe’);
aluno.setNota1(7f);
aluno.setNota1(4f);
aluno.setNota1(2f);
aluno.acharMaiorNota();
aluno.imprimir();

Aluno aluno2 = new Aluno();
aluno2.setNome(‘Pedro’);
aluno2.setNota1(7f);
aluno2.setNota1(4f);
aluno2.setNota1(2f);
aluno2.acharMaiorNota();
aluno2.imprimir();