Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Desafio: hora prática

public class ContaBancaria {
private int numeroConta;
private double saldo;
public String titular;

public int getNumeroConta() {
    return numeroConta;
}

public void setNumeroConta(int numeroConta) {
    this.numeroConta = numeroConta;
}

public double getSaldo() {
    return saldo;
}

// public void setSaldo(double saldo) { NÃO SE PODE DEIXAR AQUI, O SALDO LIVRE PARA MODIFICAÇÃO DIRETA NO CÓDIGO
// this.saldo = saldo;
// }

// Depósito
public void depositar(double valor) {
    if (valor > 0) {
        saldo += valor;
        System.out.println("Depósito realizado com sucesso.");
    } else {
        System.out.println("Valor inválido para depósito.");
    }
}

// Saque
public void sacar(double valor) {
    if (valor > 0 && valor <= saldo) {
        saldo -= valor;
        System.out.println("Saque realizado com sucesso.");
    } else {
        System.out.println("Saldo insuficiente ou valor inválido.");
    }
}

}

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    ContaBancaria conta = new ContaBancaria();

    // Coletando dados da conta
    System.out.print("Digite o nome do titular: ");
    conta.titular = sc.nextLine();

    System.out.print("Digite o número da conta: ");
    conta.setNumeroConta(sc.nextInt());

    System.out.println("\nConta criada com sucesso!");
    System.out.println("Titular: " + conta.titular);
    System.out.println("Número da conta: " + conta.getNumeroConta());
    System.out.println("Saldo inicial: R$ " + conta.getSaldo());

    // Menu operações bancárias
    int opcao;
    do {
        System.out.println("\n===== MENU =====");
        System.out.println("1 - Depositar");
        System.out.println("2 - Sacar");
        System.out.println("3 - Consultar saldo");
        System.out.println("0 - Sair");
        System.out.print("Escolha uma opção: ");
        opcao = sc.nextInt();

        switch (opcao) {
            case 1:
                System.out.print("Digite o valor do depósito: ");
                double valorDep = sc.nextDouble();
                conta.depositar(valorDep);
                break;

            case 2:
                System.out.print("Digite o valor do saque: ");
                double valorSaq = sc.nextDouble();
                conta.sacar(valorSaq);
                break;

            case 3:
                System.out.println("Saldo atual: R$ " + conta.getSaldo());
                break;

            case 0:
                System.out.println("Encerrando o programa...");
                break;

            default:
                System.out.println("Opção inválida.");
        }
    } while (opcao != 0);

    sc.close();
}

}

5 respostas

public class IdadePessoa {
private String nome;
private int idade;

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

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

public void verificarIdade() {
    if (idade >= 18) {
        System.out.println("Maior de idade");
    } else {
        System.out.println("Menor de idade");
    }
}

}

//===================================================================

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    IdadePessoa pessoa = new IdadePessoa();

    System.out.print("Digite o nome da pessoa: ");
    pessoa.setNome(sc.nextLine());
    System.out.print("Digite a idade da pessoa: ");
    pessoa.setIdade(sc.nextInt());

    // Mostrando dados
    System.out.println("\nNome: " + pessoa.getNome());
    System.out.println("Idade: " + pessoa.getIdade());

    // Verificando maioridade
    pessoa.verificarIdade();

    sc.close();
}

}

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) {
    this.preco = preco;
}

public void aplicarDesconto(double percentual) {
    if (percentual > 0 && percentual <= 100) {
        preco -= preco * (percentual / 100);
    } else {
        System.out.println("Percentual inválido.");
    }
}

}

//============================================================

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    Produto produto = new Produto();

    System.out.print("Digite o nome do produto: ");
    produto.setNome(sc.nextLine());

    System.out.print("Digite o preço do produto: ");
    produto.setPreco(sc.nextDouble());

    System.out.print("Digite o percentual de desconto: ");
    double percentual = sc.nextDouble();

    // Mostrando preço original
    System.out.println("\nProduto: " + produto.getNome());
    System.out.println("Preço original: R$ " + produto.getPreco());

    // Aplicando desconto
    produto.aplicarDesconto(percentual);

    // Mostrando preço com desconto
    System.out.println("Preço com desconto: R$ " + produto.getPreco());

    sc.close();
}

}

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

// Getters e Setters
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;
}

// Método que retorna a média
public double calcularMedia() {
    return (nota1 + nota2 + nota3) / 3;
}

}

//==================================================================
import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    Aluno aluno = new Aluno();

    System.out.print("Digite o nome do aluno: ");
    aluno.setNome(sc.nextLine());

    System.out.print("Digite a primeira nota: ");
    aluno.setNota1(sc.nextDouble());

    System.out.print("Digite a segunda nota: ");
    aluno.setNota2(sc.nextDouble());

    System.out.print("Digite a terceira nota: ");
    aluno.setNota3(sc.nextDouble());

    System.out.println("\nAluno: " + aluno.getNome());
    System.out.printf("Média das notas: %.2f%n", aluno.calcularMedia());

    sc.close();
}

}

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

public void exibirDetalhes() {
    System.out.println("Título do livro: " + getTitulo() + " - Autor: " + getAutor());
}

}

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    Livro livro = new Livro();

    System.out.print("Digite o título do livro: ");
    livro.setTitulo(sc.nextLine());

    System.out.print("Digite o autor do livro: ");
    livro.setAutor(sc.nextLine());

    // Exibindo detalhes do livro
    System.out.println("\nDetalhes do livro:");
    livro.exibirDetalhes();

    sc.close();
}

}

solução!

Oii, Adriano.

Você fez um bom trabalho nos exercícios, todos os códigos estão funcionando e mostram que você entendeu bem a ideia de criar classes, atributos, getters/setters e métodos. Na classe ContaBancaria, foi uma boa decisão não deixar o saldo livre para alteração direta, usando apenas os métodos de depósito e saque.

Os outros exemplos (IdadePessoa, Produto, Aluno e Livro) estão bem organizados e claros. Cada classe tem um objetivo simples e você conseguiu separar bem a lógica. É um bom começo em orientação a objetos em Java.

Continue firme nos estudos.

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