Olá, tudo bem?
Segue minha sugestão de solução:
Principal.java
import java.util.ArrayList;
import modelos.Animal;
import modelos.Cachorro;
import modelos.Produto;
import modelos.Forma;
import modelos.Quadrado;
import modelos.Circulo;
import modelos.ContaBancaria;
public class Principal {
public static void main(String[] args) {
System.out.println("\n------Exercício 1");
ArrayList<String> listaNumeros = new ArrayList<>();
listaNumeros.add("1");
listaNumeros.add("2");
listaNumeros.add("3");
for (String numero : listaNumeros) {
System.out.println(numero);
}
System.out.println("\n------Exercício 2");
Cachorro cachorro = new Cachorro();
Animal animal = (Animal) cachorro;
System.out.println("\n------Exercício 3");
if (animal instanceof Cachorro) {
Cachorro cachorro2 = (Cachorro) animal;
cachorro2.somAnimal();
} else {
System.out.println("O objeto não é cachorro");
}
System.out.println("\n------Exercício 4");
Produto produto1 = new Produto("produto1", 10.00);
Produto produto2 = new Produto("produto2", 20.00);
Produto produto3 = new Produto("produto3", 30.00);
ArrayList<Produto> listaProdutos = new ArrayList<>();
listaProdutos.add(produto1);
listaProdutos.add(produto2);
listaProdutos.add(produto3);
double somaPrecos = 0;
for (Produto produto : listaProdutos) {
somaPrecos += produto.getPreco();
}
double precoMedioProdutos = somaPrecos / listaProdutos.size();
System.out.println("O preço médio da lista de produtos é: R$" + precoMedioProdutos);
System.out.println("\n------Exercício 5");
ArrayList<Forma> formas = new ArrayList<>();
formas.add(new Circulo(5));
formas.add(new Quadrado(4));
for (Forma forma : formas) {
if (forma instanceof Circulo) {
System.out.println("Area do círculo: " + forma.calcularArea());
} else if (forma instanceof Quadrado) {
System.out.println("Area do quadrado: " + forma.calcularArea());
}
}
System.out.println("\n------Exercício 6");
ContaBancaria conta1 = new ContaBancaria(123, 1000.00);
ContaBancaria conta2 = new ContaBancaria(124, 1200.00);
ContaBancaria conta3 = new ContaBancaria(125, 900.00);
ArrayList<ContaBancaria> listaContaBancaria = new ArrayList<>();
listaContaBancaria.add(conta1);
listaContaBancaria.add(conta2);
listaContaBancaria.add(conta3);
ContaBancaria contaMaiorSaldo = listaContaBancaria.get(0);
for (ContaBancaria conta : listaContaBancaria) {
if (conta.getSaldo() > contaMaiorSaldo.getSaldo()) {
contaMaiorSaldo = conta;
}
}
System.out.println("A conta com maior saldo é a " + contaMaiorSaldo.getNumeroConta() + " com o saldo de R$" + contaMaiorSaldo.getSaldo());
}
}
Animal.java
package modelos;
public class Animal {
public void somAnimal(){
System.out.println("Som do animal");
}
}
Cachorro.java
package modelos;
import modelos.Animal;
public class Cachorro extends Animal {
@Override
public void somAnimal() {
System.out.println("Latido");
}
}
Produto.java
package modelos;
public 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;
}
}
Quadrado.java
package modelos;
import modelos.Forma;
public class Quadrado implements Forma {
private double lado;
public Quadrado(double lado) {
this.lado = lado;
}
@Override
public double calcularArea() {
return lado * lado;
}
}
Circulo.java
package modelos;
import modelos.Forma;
public class Circulo implements Forma {
private double raio;
public Circulo(double raio) {
this.raio = raio;
}
@Override
public double calcularArea() {
return Math.PI * raio * raio;
}
}
ContaBancaria.java
package modelos;
public class ContaBancaria {
private int numeroConta;
private double saldo;
public ContaBancaria(int numeroConta, double saldo) {
this.numeroConta = numeroConta;
this.saldo = saldo;
}
public int getNumeroConta() {
return numeroConta;
}
public double getSaldo() {
return saldo;
}
}