1
resposta

[Dúvida] Algumas dúvidas referente ao Desafio

Olá pessoal. Primeiramente gostaria de reclamar pela falta de explicação e o uso aleatório do "Construtor" na questão 03. Senão fosse pelo Fórum, ia ficar perdido ali. Mas vamos lá, senti algumas dificuldades e necessidades de entender e melhorar o código em alguns pontos:

Sobre a Questão 04. Tem o seguinte código:

package Desafio02;

public class Aluno {
    private String nome;
    private double nota1;
    private double nota2;
    private double nota3;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    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;
    }

    public double getNota3() {
        return nota3;
    }

    public void setNota3(double nota3) {
        this.nota3 = nota3;
    }

    public double calcularMedia() {
        return (nota1 + nota2 + nota3) / 3;
    }

}
(...)
System.out.println("4) ");

        Aluno aluno4 = new Aluno();
        aluno4.setNome("Jumanjerson da Silva");
        aluno4.setNota1(8.4);
        aluno4.setNota2(7.8);
        aluno4.setNota3(9);

        System.out.println("A média das notas do aluno " + aluno4.getNome() + " é: " + aluno4.calcularMedia());

        System.out.println("\n///////////////\n");

Eu gostaria de fazer um IF na Classe Produto, para que, quando tivesse o resultado do calcularMedia(), o IF funcionaria assim:

 IF (calcularMedia() > 7)
 sout("O aluno  " + nome + " passou!")
 ELSE
 sout("O aluno " + nome + " reprovou!")

Claro que, precisaria de ajuda pra fazer esse IF, não consegui fazer funcionar aqui.

Outra coisa, pensando no código acima, não entendi muito bem como funciona o return no JAVA. Por exemplo, às vezes gostaria de fazer uma resolução completa nele e retornar o valor final, exemplo:

public double calcularMedia() {
    double mediaNormal = (nota1 + nota 2 + nota 3) / 3;
    double mediaSimplificada = mediaNormal / 5;
    return mediaSimplificada;

Teria como?

Outra questão, como faz para pular linha? Estou usando o \n, mas não sei se tem outro jeito mais fácil e adequado?

Obrigado desde já.

1 resposta

Olá Patrick, tudo bem? Espero que sim.

  • Sobre sua primeira dúvida: acredito que você esteja se referindo a criar uma verificação para caso o aluno tenha passado ou reprovado, dentro da classe "Aluno", certo? Aqui está uma sugestão de como você poderia fazer isso:
    // Dentro da classe aluno, criamos uma nova função chamada "passouReprovou"
    public void passouReprovou() {
        // Faz as verificações propostas e imprime o resultado na tela do console
        if (calcularMedia() > 7) {
            System.out.println("Passou!");
        } else {
            System.out.println("Reprovou!");
        }
    }

Outra sugestão:

    public double calcularMedia() {
        // Armazenamos o resultado do cálculo da média numa variável chamada "media", do tipo double
        double media =  (nota1 + nota2 + nota3) / 3;
        
        // Fazemos a verificação dentro da própria função "calcularMedia()"
        if (media > 7) {
            System.out.println("Passou!");
        } else {
            System.out.println("Reprovou!");
        }
        return media;
    }
  • Sobre sua segunda dúvida, não ficou claro o porquê de você estar manipulando a média duas vezes, mas aparentemente você entendeu o significado da palavra "return". Basicamente, ela define um valor de retorno da função, seja esse valor uma expressão ou mesmo uma variável, e esse valor de retorno tem que ser do mesmo tipo da função. Como exemplo, você pode analisar a segunda sugestão dada acima:
    public double calcularMedia() {
        // Armazenamos o resultado do cálculo da média numa variável chamada "media", do tipo double
        double media =  (nota1 + nota2 + nota3) / 3;

        // Fazemos a verificação dentro da própria função "calcularMedia()"
        if (media > 7) {
            System.out.println("Passou!");
        } else {
            System.out.println("Reprovou!");
        }

        // Ao final da função, retornamos uma variável do mesmo tipo da função (double), que vai ser "repassada"
        // em qualquer lugar onde ela for chamada.
        return media;
    }
  • Por fim, respondendo à sua dúvida sobre como pular linhas, você pode usar o "\n" como já tem usado normalmente, mas também pode fazer uso dos Text Blocks, disponíveis a partir da versão 15 da JDK.

Aqui estão sugestões de leitura sobre os Text Blocks e sobre as funções em Java:

TextBlocks;

Funções

Espero ter ajudado! Se precisar de mais ajuda, não hesite em responder essa mensagem. Abraços cordiais.