Ajuda Por favor:
O professor de Programação em Java chegou na sala e simplesmente passou um trabalho sem que explicasse alguma coisa, o trabalho é esse:
"Fazer um programa de cadastro de pessoas.
Usar um vetor para armazenar os registros de pessoas.
Programar uma tela de cadastro e uma de listagem.
A tela de cadastro deve permitir que o usuário opte por uma de três classes específicas
de pessoas.
Essas classes devem ser baseadas na sua criatividade.
O programa deve possuir interfaces ou classes abstratas, bem como classes que implementam
as interfaces ou estendem as classes abstratas."
Bom, pesquisei em vários lugares, e consegui fazer um pouco do Main, porém com alguns erros, pq tem que usar vetores e não Arraylist, peguei um main que usava Arraylist e tentei adaptar para vetores, mas não deu certo.
Fiz até o momento isso:
//Classe Main
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
private boolean execute;
private final Pessoa[] Pessoa;
private final Scanner l;
public static void main(String[] args) {
/*main*/
Main Main;
Main = new Main();
}
private Main () {
this.Pessoa = new Pessoa[100];
l = new Scanner(System.in);
execute = true;
System.out.println("BEM VINDO AO CADASTRO DE USUÁRIOS");
while (execute) {
String opcao = menu();
if (opcao.equalsIgnoreCase("n")) {
cadastrar();
} else if (opcao.equalsIgnoreCase("l")) {
listarCadastros();
} else if (opcao.equalsIgnoreCase("x")) {
execute = false;
} else {
System.out.println("\nOpção Inválida! \n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair");
return 1.nextLine();
}
private void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("Cadastro de Usuário");
Pessoa p = new Pessoa();
p.setNome(textInput("Nome:"));
p.setLogin(textInput("Login: "));
p.setCargo(textInput("Cargo: "));
String cadastrar = textInput("Adicionar cadastro (S/N) ?");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("Cadastro adicionado !!!");
Pessoa adiciona;
adiciona = new Pessoa();
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("Cadastro ignorado !");
} else {
System.out.println("\nOpção inválida! \n");
}
String continua = textInput("Continuar cadastrando (S/N) ?");
if (continua.equalsIgnoreCase("N")) {
cadastrando = false;
} else if (continua.equalsIgnoreCase("s")){
} else {
System.out.println("\nOpção inválida, saindo da tela de cadastramento... !!! \n");
cadastrando = false;
}
}
}
private void listarCadastros() {
if (Pessoa.isEmpty()) {
System.out.println("\nNão existem cadastros !!!\n");
} else {
System.out.println("\nLista de Cadastros\n");
for (int i = 0; i < Pessoa.size(); i++) {
Pessoa p = Pessoa.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\tNome: " + p.getNome());
System.out.println("\tLogin: " + p.getLogin());
System.out.println("\tCargo: " + p.getCargo() + "\n");
}
System.out.println("\nFim da lista\n");
}
}
private String textInput(String label) {
System.out.println(label);
return l.nextLine();
}
}
//Classe Pessoa
public class Pessoa {
private String nome;
private int senha;
private String login;
private String cargo;
public Pessoa(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
nome = name;
}
public String getLogin(){
return login;
}
public void setLogin(String log ){
login = log;
}
public String getCargo(){
return cargo;
}
public void setCargo(String car){
cargo = car;
}
}
tenho que criar mais três subclasses que estendem a superclasse Pessoa, não faço a mínima ideia do que seja Interfaces ou classes abstratas.