Gostaria de compartilhar com os colegas o exercício extra que finalizei, como forma de melhorar o entendimento referente aos Arrays. Neste, foram utilizados interface "Contador" para realizar o controle da contagem da quantidade de produtos, super classe "SecaoHortiFruti" contendo os atributos dos produtos, classes "Hortalicas" e "Frutas" onde ambas extend a super classe e implementa a interface.
public interface Contador {
public void contaQuantidade();
}
public class SecaoHortifruti {
private String nome;
private int quantidade;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Hortalicas extends SecaoHortifruti implements Contador {
private int soma;
ArrayList<String> hortalica = new ArrayList<>();
ArrayList<Integer> quantidade = new ArrayList<>();
@Override
public String toString() {
return "Lista das Hortaliças: " + hortalica.toString()
+ "Quantidade: " + quantidade.toString() + " cadastrados no sistema!";
}
@Override
public void contaQuantidade() {
for (int i = 0; i < quantidade.size(); i++) {
soma = soma + quantidade.get(i);
}
System.out.println("===== TOTAL DE HORTALIÇAS NO ESTOQUE =====");
System.out.println("\nA soma total de Hortaliças no Estoque é: " + soma);
}
public void entrarDadosHortalicas() {
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("==== CADASTRO DE HORTALIÇAS =====");
System.out.println("Insira o nome de 5 hortaliças: ");
this.setNome(sc.next());
hortalica.add(this.getNome());
System.out.println("Insira a quantidade: ");
this.setQuantidade(sc.nextInt());
quantidade.add(this.getQuantidade());
System.out.println(i + " - " + "Hortaliça: " + hortalica.get(i).toString() +
" Quantidade: " + "(" + quantidade.get(i) + ")" + " cadastrado com sucesso!");
}
}
public void sairDadosHortalicas() {
System.out.println("===== SAÍDA DADOS =====");
for (int i = 0; i < hortalica.size(); i++)
System.out.println("Lista das Hortaliças: " + hortalica.get(i).toString()
+ " - " + "Quantidade: " + quantidade.get(i).toString() +
" cadastrados no sistema!");
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Frutas extends SecaoHortifruti implements Contador {
private int soma;
ArrayList<String> fruta = new ArrayList<>();
ArrayList<Integer> quantidade = new ArrayList<>();
@Override
public String toString() {
return "Lista Frutas: " + fruta.toString()
+ "Quantidade: " + quantidade.toString() + " cadastrados no sistema!";
}
@Override
public void contaQuantidade() {
for (int i = 0; i < quantidade.size(); i++) {
soma = soma + quantidade.get(i);
}
System.out.println("===== TOTAL DE FRUTAS NO ESTOQUE =====");
System.out.println("\nA soma total de Frutas no Estoque é: " + soma);
}
public void entrarDadosFrutas() {
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("==== CADASTRO DE FRUTAS =====");
System.out.println("Insira o nome de 5 frutas: ");
this.setNome(sc.next());
fruta.add(this.getNome());
System.out.println("Insira a quantidade: ");
this.setQuantidade(sc.nextInt());
quantidade.add(this.getQuantidade());
System.out.println(i + " - " + "Fruta: " + fruta.get(i).toString() +
" Quantidade: " + "(" + quantidade.get(i) + ")" + " cadastrado com sucesso!");
}
}
public void sairDadosFrutas() {
System.out.println("\n===== SAÍDA DADOS =====");
for (int i = 0; i < fruta.size(); i++)
System.out.println("Lista de frutas: " + fruta.get(i).toString()
+ " - " + "Quantidade: " + quantidade.get(i).toString() +
" cadastrados no sistema!");
}
}
public class Principal {
public static void main(String[] args) {
Hortalicas hortalica = new Hortalicas();
hortalica.entrarDadosHortalicas();
hortalica.sairDadosHortalicas();
hortalica.contaQuantidade();
Frutas fruta = new Frutas();
fruta.entrarDadosFrutas();
fruta.sairDadosFrutas();
fruta.contaQuantidade();
}
}