1
resposta

Hora da prática: desafios concluídos

1:

package desafio1;

import java.util.ArrayList;

public class Lista {
    public static void main(String[] args) {
        String bebida1 = "água";
        String bebida2 = "vinho";
        String bebida3 = "suco";
        String bebida4 = "chá";

        ArrayList<String> lista = new ArrayList<>();
        lista.add(bebida1);
        lista.add(bebida2);
        lista.add(bebida3);
        lista.add(bebida4);
        for (String bebidas : lista) {
            System.out.println(bebidas);
        }
    }
}

2 e 3:

package desafio2_3;

public class Animal {
    void emiteSom(){
        System.out.println("Animel emite som.");
    }
}
package desafio2_3;

public class Cachorro extends Animal{
    void emiteSom(){
        System.out.println("Cachorro late.");
    }

}
package desafio2_3;

public class MainAnimal {
    public static void main(String[] args) {
        Animal animal = new Cachorro();

        if (animal instanceof Cachorro){
            Cachorro cachorro = (Cachorro) animal;
            cachorro.emiteSom();
        } else {
            System.out.println("Não é um chacorro.");
        }
    }
}

4:

package desafio4;

import java.util.ArrayList;

public class Produto {
    String nome;
    double preco;

    Produto (String nome, double preco){
        this.nome = nome;
        this.preco = preco;
    }
}
package desafio4;

import java.util.ArrayList;

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

        ArrayList<Produto> lista = new ArrayList<>();{
         lista.add(new Produto("copo", 5.99));
         lista.add(new Produto("prato", 7.90));
         lista.add(new Produto("talheres", 8.95));

         double valor = 0;
         for (Produto produto : lista){
             valor += produto.preco;
         }

         double media = valor / lista.size();
            System.out.println(String.format("Preço médio dos produtos: R$%.2f", media));
        }
    }
}

5:

package desafio5;

public interface Forma {
    double calcularArea();
}
package desafio5;

public class Circulo implements Forma{
    double raio;

    Circulo(double raio) {
        this.raio = raio;
    }

    @Override
    public double calcularArea() {
        return Math.PI * raio * raio;
    }
}
package desafio5;

public class Quadrado implements Forma{
    double lado;

    Quadrado(double lado){
        this.lado = lado;
    }

    @Override
    public double calcularArea() {
        return lado * lado;
    }
}
package desafio5;

import java.util.ArrayList;

public class MainCalculoArea {
    public static void main(String[] args) {
        ArrayList<Forma> formas = new ArrayList<>();
        formas.add(new Circulo(3));
        formas.add(new Quadrado(4));

        for (Forma forma : formas){
            System.out.println("Área: " + forma.calcularArea());
        }
    }
}

6:

package desafio6;

import java.util.ArrayList;

public class ContaBancaria {
    private int numeroDaConta;
    private double saldo;

    ContaBancaria(int numeroDaConta, double saldo) {
        this.numeroDaConta = numeroDaConta;
        this.saldo = saldo;
    }

    public int getNumeroDaConta() {
        return numeroDaConta;
    }

    public void setNumeroDaConta(int numeroDaConta) {
        this.numeroDaConta = numeroDaConta;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }
}
package desafio6;

import java.util.ArrayList;

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

        ContaBancaria conta1 = new ContaBancaria(01234, 5600.55);
        ContaBancaria conta2 = new ContaBancaria(23456, 7632.70);
        ContaBancaria conta3 = new ContaBancaria(45678, 9542.32);

        ArrayList<ContaBancaria> listaContas = new ArrayList<>();
        listaContas.add(conta1);
        listaContas.add(conta2);
        listaContas.add(conta3);

        ContaBancaria contaMaiorSaldo = listaContas.get(0);
        for (ContaBancaria conta : listaContas){
            if (conta.getSaldo() > contaMaiorSaldo.getSaldo()){
                contaMaiorSaldo = conta;
            }
        }
        System.out.println(String.format("A conta com maior saldo é a de número: %.5s, com o saldo de: R$%.2f", contaMaiorSaldo.getNumeroDaConta(), contaMaiorSaldo.getSaldo()));
    }
}
1 resposta

Oi, Leo! Como vai?

Você concluiu todos os desafios com bastante organização e aplicou bem os conceitos de listas, herança, interfaces e encapsulamento. O uso de instanceof no desafio 2/3 e o cálculo da média no desafio 4 mostram que você está entendendo bem como estruturar suas classes e lógica.

Uma dica interessante para o futuro é usar o método toString() para facilitar a exibição de objetos. Veja este exemplo:

class Produto {
    String nome;
    double preco;

    Produto(String nome, double preco) {
        this.nome = nome;
        this.preco = preco;
    }

    public String toString() {
        return nome + " - R$" + preco;
    }
}

Esse método permite exibir informações completas do objeto apenas com System.out.println(objeto);.

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