Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Em alguns dos exercícios eu me desafiei e decidi complicar um pouco

**DESAFIO 2**
**NAO COUBE A CLASSE IdadePessoa**
public class Principal {
    static void main() {
        Scanner scanner = new Scanner(System.in);
        IdadePessoa pessoa1 = new IdadePessoa();
        System.out.println("Digite o nome da pessoa:");
        pessoa1.setNome(scanner.nextLine());
        System.out.println("Digite a idade da pessoa:");
        pessoa1.setIdade(scanner.nextInt());

        scanner.nextLine();

        IdadePessoa pessoa2 = new IdadePessoa();
        System.out.println("Digite o nome da pessoa:");
        pessoa2.setNome(scanner.nextLine());
        System.out.println("Digite a idade da pessoa:");
        pessoa2.setIdade(scanner.nextInt());

        scanner.close();

        System.out.println(pessoa1.getNome() + " tem " + pessoa1.getIdade());
        pessoa1.verificarIdade();

        System.out.println(pessoa2.getNome() + " tem " + pessoa2.getIdade());
        pessoa2.verificarIdade();
    }
}

**DESAFIO 3**
public class Produto {
    private String nome;
    private double preco;

    public String getNome() {
        return nome;
    }

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

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        if(preco >= 100) {
            this.preco = preco * 0.9;
            System.out.println("Preço com desconto:" + this.preco);
        } else {
            this.preco = preco;
            System.out.println("O produto não possui desconto.");
        }
    }

}
import java.util.Scanner;

public class Principal {
    static void main() {
        Scanner scanner1 = new Scanner(System.in);
        Produto produto1 = new Produto();

        System.out.println("Digite o nome do produto:");
        produto1.setNome(scanner1.nextLine());

        System.out.println("Digite o preço do produto em R$:");
        produto1.setPreco(scanner1.nextDouble());

        System.out.println("O produto:" + produto1.getNome() + " está dísponível e custa R$" + produto1.getPreco());
    }
}

**DESAFIO 4**
public class Aluno {
    private String nome;
    private int idade;
    double nota1;
    double nota2;
    double nota3;

    public String getNome() {
        return nome;
    }

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

    public int getIdade() {
        if ( idade == 18)
            System.out.println("Turma: 3 ano");
        else if ( idade == 17)
            System.out.println("Turma: 2 ano");
        else if ( idade == 16) {
            System.out.println("Turma: 1 ano");
        }
        return  idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public double calcularMedia(){
        return (nota1 + nota2 + nota3 / 3);
    }
}
import java.util.Scanner;

public class Principal {
    static void main() {
        Scanner scanner = new Scanner(System.in);
        Aluno aluno = new Aluno();

        aluno.setNome("Pedro");
        aluno.setIdade(18);

        System.out.println("Aluno:" + aluno.getNome());
        System.out.println("Idade:" + aluno.getIdade());

        System.out.println("Digite a nota da primeira prova:");
        aluno.nota1=scanner.nextDouble();
        System.out.println("Digite a nota da segunda prova:");
        aluno.nota2=scanner.nextDouble();
        System.out.println("Digite a nota da terceira prova:");
        aluno.nota3=scanner.nextDouble();

        System.out.println("A média do aluno " + aluno.getNome() + " foi " + String.format("%.1f", aluno.calcularMedia()));
    }
}

**DESAFIO 5**
public class Livro {
    private String titulo;
    private String autor;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public void exibirDetalhes(){
        System.out.println("Título do livro:" + titulo);
        System.out.println("Autor do livro:" + autor);
    }
}
public class Principal {
    static void main() {
        Livro livro1 = new Livro();
        livro1.setTitulo("A arte da guerra");
        livro1.setAutor("Sun Tzu");

        Livro livro2 = new Livro();
        livro2.setTitulo("O diário de Anne Frank");
        livro2.setAutor("Anne Frank");

        livro1.exibirDetalhes();
        livro2.exibirDetalhes();
    }
}
1 resposta
solução!

Oi, Pedro! Como vai?

Agradeço por compartilhar.

Gostei bastante de como você se desafiou a ir além do básico, principalmente aplicando regras dentro dos métodos set, como no caso do desconto no Produto. Isso mostra que você já está pensando em encapsulamento de forma prática. Outro ponto interessante foi o uso de métodos como verificarIdade() e exibirDetalhes(), deixando o código mais organizado e orientado a objetos.

Uma dica interessante para o futuro é tomar cuidado com cálculos, como na média do aluno. Do jeito que tá, apenas nota3 está sendo dividida por 3. Veja este exemplo:


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

Esse código soma todas as notas e depois divide corretamente pela quantidade total, garantindo o cálculo certo da média.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!