1
resposta

Desafio: hora da prática Lista de Objetos Distintos

import java.util.ArrayList;

public class ListaStrings {
    public static void main(String[] args) {
        ArrayList<String> nomes = new ArrayList<>();
        nomes.add("Alice");
        nomes.add("Bruno");
        nomes.add("Carla");

        for (String nome : nomes) {
            System.out.println(nome);
        }
    }
}

    
    class Animal {
    public void emitirSom() {
        System.out.println("Animal fazendo som...");
    }
}

class Cachorro extends Animal {
    public void latir() {
        System.out.println("Cachorro latindo!");
    }
}

public class TesteCasting {
    public static void main(String[] args) {
        Cachorro dog = new Cachorro();
        Animal animal = (Animal) dog;  // Casting de Cachorro para Animal
        animal.emitirSom();
    }
}

    
    public class VerificacaoCasting {
    public static void main(String[] args) {
        Animal animal = new Cachorro();  // pode mudar para new Animal() para testar

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

    
    import java.util.ArrayList;

class Produto {
    private String nome;
    private double preco;

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

    public double getPreco() {
        return preco;
    }

    public String getNome() {
        return nome;
    }
}

public class ListaProdutos {
    public static void main(String[] args) {
        ArrayList<Produto> produtos = new ArrayList<>();
        produtos.add(new Produto("Teclado", 150.0));
        produtos.add(new Produto("Mouse", 80.0));
        produtos.add(new Produto("Monitor", 1000.0));

        double soma = 0;
        for (Produto p : produtos) {
            soma += p.getPreco();
        }

        double media = soma / produtos.size();
        System.out.println("Preço médio: R$ " + media);
    }
}

    
    import java.util.ArrayList;

interface Forma {
    double calcularArea();
}

class Circulo implements Forma {
    private double raio;

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

    public double calcularArea() {
        return Math.PI * raio * raio;
    }
}

class Quadrado implements Forma {
    private double lado;

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

    public double calcularArea() {
        return lado * lado;
    }
}

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

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

    
    import java.util.ArrayList;

class ContaBancaria {
    private String numeroConta;
    private double saldo;

    public ContaBancaria(String numeroConta, double saldo) {
        this.numeroConta = numeroConta;
        this.saldo = saldo;
    }

    public String getNumeroConta() {
        return numeroConta;
    }

    public double getSaldo() {
        return saldo;
    }
}

public class MaiorSaldo {
    public static void main(String[] args) {
        ArrayList<ContaBancaria> contas = new ArrayList<>();
        contas.add(new ContaBancaria("001", 1500.0));
        contas.add(new ContaBancaria("002", 2450.0));
        contas.add(new ContaBancaria("003", 900.0));

        ContaBancaria maiorSaldo = contas.get(0);

        for (ContaBancaria conta : contas) {
            if (conta.getSaldo() > maiorSaldo.getSaldo()) {
                maiorSaldo = conta;
            }
        }

        System.out.println("Conta com maior saldo: " + maiorSaldo.getNumeroConta() +
                " - R$ " + maiorSaldo.getSaldo());
    }
}
1 resposta

Oi, Gabrielly! Como vai?

Você organizou os exemplos de forma clara e aplicou muito bem os conceitos de listas, herança, interfaces e casting em Java. Cada trecho mostra uma abordagem importante para trabalhar com coleções e polimorfismo.

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