1
resposta

Desafio casting listas

//Desafio 1
import java.util.ArrayList;public class Main {static void main(String[] args) {ArrayList<String> nomes = new ArrayList<>();nomes.add("Leo");nomes.add("Isa");nomes.add("Jac");nomes.add("Regi");for (String nome:nomes){System.out.println(nome);}}}
//Desafio 2
//Classe Animal
public class Animal {private String especie;public String getEspecie() {return especie;}public void setEspecie(String especie) {this.especie = especie;}}
//Classe Cachorro
public class Cachorro extends Animal{private String raca;public String getRaca() {return raca;}public void setRaca(String raca) {this.raca = raca;
    }
}
//Main
public class Main {
    static void main(String[] args) {
        Cachorro cachorro = new Cachorro();
        Animal animal = (Animal) cachorro;
    }
}
//Desafio 3
//Main
public class Main {
    static void main(String[] args) {
        Animal animal = new Cachorro();
        if (animal instanceof Cachorro) {
            Cachorro cachorro = (Cachorro) animal;
        }else {
            System.out.println("Não é um cachorro");
        }
    }
}
//Desafio 4
//Classe Produto
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 Produto(String nome,double preco){
        this.nome = nome;
        this.preco = preco;
    }
}
//Main
import java.util.ArrayList;

public class Main {
    static void main(String[] args) {
        Produto p1=new Produto("Celular",899);
        Produto p2=new Produto("Notebook",1200);
        Produto p3=new Produto("Headset",199);

        ArrayList<Produto> listadeProdutos= new ArrayList<>();
        listadeProdutos.add(p1);
        listadeProdutos.add(p2);
        listadeProdutos.add(p3);
        double soma=0;
        for (Produto produto : listadeProdutos){
            soma += produto.getPreco();
        }
        double media = soma / listadeProdutos.size();
        System.out.println("Preço médio R$: "+media);
    }
}
//Desafio 5
//Interface
public interface Forma {
    void calcularArea();
}
//Classe Circulo
public class Circulo implements Forma{
    private double raio;

    public double getRaio() {
        return raio;
    }

    public void setRaio(double raio) {
        this.raio = raio;
    }
    @Override
    public void calcularArea() {
        double area = 3.14 *(raio*raio);
        System.out.println("Área do circulo= "+area);
    }
    public Circulo(int raio){
        this.raio = raio;
    }
}
//Classe quadrado
public class Quadrado implements Forma{
    private double medida;

    public double getLados() {
        return medida;
    }

    public void setLados(double lados) {
        this.medida = lados;
    }

    @Override
    public void calcularArea() {
        double area=medida*4;
        System.out.println("Área do quadrado = "+area);
    }
    public Quadrado(double medida){
        this.medida = medida;
    }
}
//Main
import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        Quadrado quadrado = new Quadrado(10);
        Circulo circulo = new Circulo(8);
        ArrayList<Forma> list = new ArrayList<>();
        list.add(quadrado);
        list.add(circulo);
        for (Forma forma : list){
            forma.calcularArea();
        }
    }
}
//Desafio 6
//Classe Conta Bancaria
public class ContaBancaria {
    private int numConta;
    private double saldo;

    public int getNumConta() {
        return numConta;
    }

    public void setNumConta(int numConta) {
        this.numConta = numConta;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }
    public ContaBancaria(int numConta,double saldo){
        this.numConta = numConta;
        this.saldo = saldo;
    }
}
//Main
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ContaBancaria c1 =new ContaBancaria(6987,1000);
        ContaBancaria c2 = new ContaBancaria(9856,899.99);
        ContaBancaria c3 = new ContaBancaria(7451,526.63);
        ArrayList<ContaBancaria> lista = new ArrayList<>();
        lista.add(c1);
        lista.add(c2);
        lista.add(c3);
        ContaBancaria contaMaiorSaldo = lista.get(0);
        for (ContaBancaria contaBancaria : lista){
            if (contaBancaria.getSaldo()> contaMaiorSaldo.getSaldo()){
                contaMaiorSaldo=contaBancaria;
            }
        }
        System.out.println("Conta com maior saldo: "+contaMaiorSaldo.getNumConta()+" Saldo R$: "+contaMaiorSaldo.getSaldo());
    }
}
1 resposta

Oi, Leonardo! Como vai?

Gostei bastante de como você organizou os desafios, principalmente o uso de polimorfismo com a interface Forma e o cuidado ao usar instanceof antes do casting, o que evita erros em tempo de execução. Também ficou bem claro o seu entendimento de listas com objetos, como no cálculo da média e na busca pela conta com maior saldo.

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