2
respostas

Lista de coleções distintas

//Conta Bancaria

public 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;
}

@Override
public String toString() {
    return "Conta: " + this.numeroConta +" Saldo: " + this.saldo;
}
}

//Circulo

public class Circulo implements Forma{
private  double raio;

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

public double getRaio() {
    return raio;
}

public void setRaio(double raio) {
    this.raio = raio;
}

@Override
public double calculaArea() {
    return Math.PI * this.raio * this.raio;
}
}

//Quadrado

public class Quadrado implements Forma{
private double lado;

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

public double getLado() {
    return lado;
}

@Override
public double calculaArea(){
    return (lado * lado);
    }

}

//Forma

public interface Forma {
double calculaArea();
}

//Produto

public class Produto {
private String nome;
private double preco;

public Produto(String nome, double preco) {
    this.nome = nome;
    this.preco = 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;
}

@Override
public String toString() {
    return " Produto: " + this.nome + " Preco: " + this.preco;
}
}

//Animal

public class Animal {
}

//Cachorro

public class Cachorro extends Animal{ }
2 respostas

//Principal

import java.lang.reflect.Array;
import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        //Desafio 01
        ArrayList<String>  listString = new ArrayList<>();
        listString.add("1º Elemento");
        listString.add("2º Elemento");
        listString.add("3º Elemento");
        listString.add("4º Elemento");
        for (String elemento: listString){
            System.out.println(elemento);
        }

        //Desafio 02 - 03
        Cachorro cachorro = new Cachorro();
        if (cachorro instanceof Animal){
            Animal animal = (Animal) cachorro;
        }


        //4º Desafio
        Produto produto_01 = new Produto("Fone",10.99);
        Produto produto_02 = new Produto("Mouse",88.99);
        Produto produto_03 = new Produto("Teclado",99.99);
        Produto produto_04 = new Produto("Monitor",299.99);
        ArrayList<Produto> listProduto = new ArrayList<>();
        listProduto.add(produto_01);
        listProduto.add(produto_02);
        listProduto.add(produto_03);
        listProduto.add(produto_04);
        int totalPreco=0;
        for (Produto prod:listProduto){
            System.out.println(prod);
            totalPreco+=prod.getPreco();
        }
        System.out.println("Total de Produtos: "+listProduto.size() +
        " Valor Total: "+totalPreco +
        " Média de preço: "+ (totalPreco/listProduto.size()));

        //5º Desafio
        Circulo circulo_01 = new Circulo(10.11);
        Circulo circulo_02 = new Circulo(20.22);
        Circulo circulo_03 = new Circulo(30.33);

        Quadrado quadrado_01 = new Quadrado(10.11);
        Quadrado quadrado_02 = new Quadrado(10.11);
        Quadrado quadrado_03 = new Quadrado(10.11);

        ArrayList<Forma> listForma = new ArrayList<>();
        listForma.add(circulo_01);
        listForma.add(circulo_02);
        listForma.add(circulo_03);
        listForma.add(quadrado_01);
        listForma.add(quadrado_02);
        listForma.add(quadrado_03);

        System.out.println("*****************************");
        System.out.println("Listagem das Formas em áreas");
        System.out.println("*****************************");
        for (Forma elementos:listForma) {
               System.out.println(elementos.calculaArea());
        }

        //6º Deafio

        ContaBancaria conta_01 = new ContaBancaria("Conta_01",1.01);
        ContaBancaria conta_02 = new ContaBancaria("Conta_02",10.10);
        ContaBancaria conta_03 = new ContaBancaria("Conta_03",100.99);
        ContaBancaria conta_04 = new ContaBancaria("Conta_04",200.99);
        ContaBancaria conta_05 = new ContaBancaria("Conta_05",5.99);
        ContaBancaria conta_06 = new ContaBancaria("Conta_06",99999.99);
        ContaBancaria conta_07 = new ContaBancaria("Conta_07",3.99);

        ArrayList<ContaBancaria> listConta = new ArrayList<>();
        listConta.add(conta_01);
        listConta.add(conta_02);
        listConta.add(conta_03);
        listConta.add(conta_04);
        listConta.add(conta_05);
        listConta.add(conta_06);
        listConta.add(conta_07);

        ContaBancaria contaBancariaRef = listConta.get(0);
        for (ContaBancaria elementoConta:listConta){
            if (contaBancariaRef.getSaldo() < elementoConta.getSaldo()){
                contaBancariaRef = elementoConta;
            }
        }
        System.out.println("O Maior Saldo é da Conta :"+contaBancariaRef.toString());

    }
}

Oi Rogerio, tudo bem?

O código que você compartilhou tá bem estruturado e organizado. As classes e interfaces seguem uma boa prática de orientação a objetos, e a utilização de interfaces como Forma demonstra um bom uso de polimorfismo.

Lembre-se de que, além de compartilhar aqui no fórum, você também pode marcar a Alura nas redes sociais para que mais pessoas possam ver seu trabalho.

A Alura tem perfis em várias redes sociais, você pode encontrá-los aqui. E não se esqueça do nosso Discord de alunos da Alura.

Um abraço e bons estudos.