ArrayList dentro do Switch Case
Estou fazendo um trabalho da faculdade onde eu tenho que criar um menu interativo, no case 1 eu preciso fazer cadastro de pessoas físicas e jurídicas usando ArrayList, no case 2 eu preciso apenas imprimir as informações que estão dentro dessas ArrayList, mas não estou conseguindo pegar as informações das ArrayList para colocar no case 2, alguém pode me ajudar?
package atividade2;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class ProgramaPrincipal {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
byte resposta = 1;
while (resposta == 1) {
byte opcao;
System.out.println("--------------");
System.out.print("MENU PRINCIPAL");
System.out.println("\n--------------");
System.out.println();
System.out.print("\n1- Cadastar");
System.out.print("\n2- Mostrar");
System.out.print("\n3- Excluir");
System.out.print("\n4- Sair do Sistema");
System.out.print("\nEscolha a Opção Desejada: ");
opcao = leitor.nextByte();
switch (opcao) {
case 1:
System.out.println();
System.out.println("O que deseja cadastrar?");
System.out.print("\n1- Funcionario");
System.out.println("\n2- Fornecedor");
System.out.print("Escolha a Opção Desejada: ");
byte opcao1 = leitor.nextByte();
switch (opcao1) {
case 1:
System.out.println("\nCadastrando Funcionario");
System.out.println();
ArrayList<PessoaFisica> funcionario = new ArrayList<>();
byte repetir;
do {
System.out.print("Nome: ");
String nome = leitor.next();
System.out.print("Telefone: ");
int telefone = leitor.nextInt();
System.out.print("Idade: ");
byte idade = leitor.nextByte();
System.out.print("RG: ");
long rg = leitor.nextLong();
System.out.print("CPF: ");
long cpf = leitor.nextLong();
System.out.print("Email: ");
String email = leitor.next();
System.out.println();
funcionario.add(new PessoaFisica(nome, telefone, idade, rg, cpf, email));
System.out.print("Cadastrar outro? 1- Sim ou 2- Não");
repetir = leitor.nextByte();
} while (repetir == 1);
for (PessoaFisica func : funcionario) {
System.out.println(func);
}
break;
case 2:
System.out.println("\nCadastrando Fornecedor");
System.out.println();
ArrayList<PessoaJuridica> fornecedor = new ArrayList<>();
byte repetir1;
do {
System.out.print("Nome: ");
String nome = leitor.next();
System.out.print("Telefone: ");
int telefone = leitor.nextInt();
System.out.print("Idade: ");
byte idade = leitor.nextByte();
System.out.print("CNPJ: ");
String cnpj = leitor.next();
System.out.print("Inscrição Estadual: ");
String inscricaoEstadual = leitor.next();
System.out.println();
fornecedor.add(new PessoaJuridica(nome, telefone, idade, cnpj, inscricaoEstadual));
System.out.print("Cadastrar outro? 1- Sim ou 2- Não");
repetir1 = leitor.nextByte();
} while (repetir1 == 1);
for (PessoaJuridica forn : fornecedor) {
System.out.println(forn);
}
break;
default:
System.out.println();
System.out.println("Opção Inválida!!!");
System.out.println("Voltando Ao Menu Principal....");
System.out.println();
ProgramaPrincipal.main(null);
}
break;
case 2:
System.out.println("Mostrando Dados Cadastrados");
break;
package atividade2;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class ProgramaPrincipal {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
byte resposta = 1;
while (resposta == 1) {
byte opcao;
System.out.println("--------------");
System.out.print("MENU PRINCIPAL");
System.out.println("\n--------------");
System.out.println();
System.out.print("\n1- Cadastar");
System.out.print("\n2- Mostrar");
System.out.print("\n3- Excluir");
System.out.print("\n4- Sair do Sistema");
System.out.print("\nEscolha a Opção Desejada: ");
opcao = leitor.nextByte();
switch (opcao) {
case 1:
System.out.println();
System.out.println("O que deseja cadastrar?");
System.out.print("\n1- Funcionario");
System.out.println("\n2- Fornecedor");
System.out.print("Escolha a Opção Desejada: ");
byte opcao1 = leitor.nextByte();
switch (opcao1) {
case 1:
System.out.println("\nCadastrando Funcionario");
System.out.println();
ArrayList<PessoaFisica> funcionario = new ArrayList<>();
byte repetir;
do {
System.out.print("Nome: ");
String nome = leitor.next();
System.out.print("Telefone: ");
int telefone = leitor.nextInt();
System.out.print("Idade: ");
byte idade = leitor.nextByte();
System.out.print("RG: ");
long rg = leitor.nextLong();
System.out.print("CPF: ");
long cpf = leitor.nextLong();
System.out.print("Email: ");
String email = leitor.next();
System.out.println();
funcionario.add(new PessoaFisica(nome, telefone, idade, rg, cpf, email));
System.out.print("Cadastrar outro? 1- Sim ou 2- Não");
repetir = leitor.nextByte();
} while (repetir == 1);
for (PessoaFisica func : funcionario) {
System.out.println(func);
}
break;
case 2:
System.out.println("\nCadastrando Fornecedor");
System.out.println();
ArrayList<PessoaJuridica> fornecedor = new ArrayList<>();
byte repetir1;
do {
System.out.print("Nome: ");
String nome = leitor.next();
System.out.print("Telefone: ");
int telefone = leitor.nextInt();
System.out.print("Idade: ");
byte idade = leitor.nextByte();
System.out.print("CNPJ: ");
String cnpj = leitor.next();
System.out.print("Inscrição Estadual: ");
String inscricaoEstadual = leitor.next();
System.out.println();
fornecedor.add(new PessoaJuridica(nome, telefone, idade, cnpj, inscricaoEstadual));
System.out.print("Cadastrar outro? 1- Sim ou 2- Não");
repetir1 = leitor.nextByte();
} while (repetir1 == 1);
for (PessoaJuridica forn : fornecedor) {
System.out.println(forn);
}
break;
default:
System.out.println();
System.out.println("Opção Inválida!!!");
System.out.println("Voltando Ao Menu Principal....");
System.out.println();
ProgramaPrincipal.main(null);
}
break;
case 2:
System.out.println("Mostrando Dados Cadastrados");
break;

Victor
Curtidas 0