public class Main {
public static void main(String[] args) {
ArrayList<String> lista = new ArrayList<>();
lista.add("Ford");
lista.add("General Motors");
lista.add("Volkswagen");
lista.forEach(item -> System.out.println(item));
Cachorro cachorro = new Cachorro(4, 4, 24, "Fred", "João");
Animal animal = (Animal) cachorro;
System.out.println(animal);
Animal animal1 = new Cachorro(4, 4, 24, "Romeu", "Carlos");
if(animal1 instanceof Cachorro cachorro1){
//Usando setter só pra testar a mudança de nome
cachorro1.setNome("Romeu Juca");
System.out.println(cachorro1);
}else{
System.out.println("Este animal não é um cachorro");
}
ArrayList<Produto> produtos = new ArrayList<>();
produtos.add(new Produto("Caderno", 21.9));
produtos.add(new Produto("Lapis", 1.5));
produtos.add(new Produto("Borracha", 3.0));
produtos.add(new Produto("Mochila", 59.99));
double soma = 0;
for(Produto produto : produtos){
soma+= produto.getPreco();
}
System.out.println("Preço médio de %d produtos: %f".formatted(produtos.size(), (soma/produtos.size())));
ArrayList<Forma> formas = new ArrayList<>();
formas.add(new Circulo(6));
formas.add(new Circulo(2.3));
formas.add(new Circulo(9));
formas.add(new Quadrado(6));
formas.add(new Quadrado(16.5));
formas.add(new Quadrado(9));
for (Forma forma : formas) {
if(forma instanceof Quadrado quadrado){
System.out.println("Essa forma é um quadrado e usa área é: %.2fcm2".formatted(quadrado.calcularArea()));
}else if (forma instanceof Circulo circulo){
System.out.println("Essa forma é um círculo e usa área é: %.2fcm2".formatted(circulo.calcularArea()));
}
}
ArrayList<ContaBancaria> contas = new ArrayList<>();
contas.add(new ContaBancaria(1111112, 2500.68));
contas.add(new ContaBancaria(3411116, 25000));
contas.add(new ContaBancaria(1211817, 5090.90));
contas.add(new ContaBancaria(8156112, 12500.68));
contas.add(new ContaBancaria(7189132, 250));
contas.add(new ContaBancaria(9113681, 25.6));
ContaBancaria maiorSaldoConta = contas.get(0);
for (ContaBancaria contaBancaria : contas) {
if(contaBancaria.getSaldo() > maiorSaldoConta.getSaldo()) maiorSaldoConta = contaBancaria;
}
System.out.println("A conta com maior saldo é: %d".formatted(maiorSaldoConta.getNumeroConta()));
}
}
public class Animal {
private int patas;
private int idade;
private int peso;
public Animal(int patas, int idade, int peso) {
this.patas = patas;
this.idade = idade;
this.peso = peso;
}
public void emitirSom(){
System.out.println("Emitindo som");
}
public void dormir(){
System.out.println("Dormindo");
}
}
public class Cachorro extends Animal{
private String nome;
private String dono;
public Cachorro(int patas, int idade, int peso, String nome, String dono) {
super(patas, idade, peso);
this.nome = nome;
this.dono = dono;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
return "Nome do cachorro: %s | Nome do dono: %s".formatted(nome, dono);
}
@Override
public void emitirSom() {
System.out.println("Latindo");
}
}
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:
public class ContaBancaria {
private int numeroConta;
private double saldo;
public ContaBancaria(int numeroConta, double saldo) {
this.numeroConta = numeroConta;
this.saldo = saldo;
}
public ContaBancaria() {}
public int getNumeroConta() {
return numeroConta;
}
public double getSaldo() {
return saldo;
}
}
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;
}
}
public class Quadrado implements Forma{
private double lado;
public Quadrado(double lado) {
this.lado = lado;
}
@Override
public double calcularArea(){
return lado * lado;
}
}