[JAVA] Como mover os métodos da classe Principal para Aluno e que funcione ?
Olá gente, o código funciona perfeitamente, mas eu quero deixá-lo mais legível em relação a organização. Então, eu estou tentando mover o método cadastrar() e listarCadastros() para a classe Aluno e assim chamar na função main somente. Nesse sentido, como poderia proceder? (já fiz algumas tentativas mas nada)
package projeto;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Principal {
private Scanner l;
private boolean execute;
private List<Aluno> alunos;
public static void main(String[] args) {
new Principal();
}
private Principal() {
l = new Scanner(System.in);
execute = true;
alunos = new ArrayList<Aluno>();
System.out.println("=============================\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\n=============================");
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 seu noob !!! \\n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:\\n");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair\\n");
return l.nextLine();
}
private void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("=============================\\nCadastro de Usuários\\n");
Aluno aluno = new Aluno();
aluno.setNome(textInput(" --> Nome:"));
aluno.setCpf(textInput(" --> CPF: "));
aluno.setNascimento(textInput(" --> Data de Nascimento: "));
System.out.println("=============================\\n");
String cadastrar = textInput("==================\\nCONFIRMAR CADASTRO (S/N)?\\n==================");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("==================\\n STATUS: Adicionado com sucesso \\n==================\\n");
alunos.add(aluno);
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("==================\\n STATUS: Cadastro Ignorado\\n==================\\n");
} else {
System.out.println("\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\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 seu noob, eu vou sair só porque você não colabora !!! \\n");
cadastrando = false;
}
}
}
private void listarCadastros() {
if (alunos.size() == 0) {
System.out.println("\\nNão existem cadastros !!!\\n");
} else {
System.out.println("==================================\\nLista de Cadastros\\n");
for (int i = 0; i < alunos.size(); i++) {
Aluno d = alunos.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\\tNome: " + d.getNome());
System.out.println("\\tCPF: " + d.getCpf());
System.out.println("\\tData de Nascimento: " + d.getNascimento() + "\\n");
}
System.out.println("\\nLista Finalizada\\n==================================\\n");
}
}
private String textInput(String label) {
System.out.println(label);
return l.nextLine();
}
}
_________________________
package projeto;
public class Aluno {
private String nome;
private String cpf;
private String nascimento;
public Aluno(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
this.nome = name;
}
public String getCpf(){
return cpf;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getNascimento(){
return nascimento;
}
public void setNascimento(String nascimento){
this.nascimento = nascimento;
}
}
package projeto;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Principal {
private Scanner l;
private boolean execute;
private List<Aluno> alunos;
public static void main(String[] args) {
new Principal();
}
private Principal() {
l = new Scanner(System.in);
execute = true;
alunos = new ArrayList<Aluno>();
System.out.println("=============================\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\n=============================");
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 seu noob !!! \\n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:\\n");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair\\n");
return l.nextLine();
}
private void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("=============================\\nCadastro de Usuários\\n");
Aluno aluno = new Aluno();
aluno.setNome(textInput(" --> Nome:"));
aluno.setCpf(textInput(" --> CPF: "));
aluno.setNascimento(textInput(" --> Data de Nascimento: "));
System.out.println("=============================\\n");
String cadastrar = textInput("==================\\nCONFIRMAR CADASTRO (S/N)?\\n==================");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("==================\\n STATUS: Adicionado com sucesso \\n==================\\n");
alunos.add(aluno);
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("==================\\n STATUS: Cadastro Ignorado\\n==================\\n");
} else {
System.out.println("\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\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 seu noob, eu vou sair só porque você não colabora !!! \\n");
cadastrando = false;
}
}
}
private void listarCadastros() {
if (alunos.size() == 0) {
System.out.println("\\nNão existem cadastros !!!\\n");
} else {
System.out.println("==================================\\nLista de Cadastros\\n");
for (int i = 0; i < alunos.size(); i++) {
Aluno d = alunos.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\\tNome: " + d.getNome());
System.out.println("\\tCPF: " + d.getCpf());
System.out.println("\\tData de Nascimento: " + d.getNascimento() + "\\n");
}
System.out.println("\\nLista Finalizada\\n==================================\\n");
}
}
private String textInput(String label) {
System.out.println(label);
return l.nextLine();
}
}
_________________________
package projeto;
public class Aluno {
private String nome;
private String cpf;
private String nascimento;
public Aluno(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
this.nome = name;
}
public String getCpf(){
return cpf;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getNascimento(){
return nascimento;
}
public void setNascimento(String nascimento){
this.nascimento = nascimento;
}
}
Hermano
Curtidas 0
Respostas
Hermano
12/09/2019
Olá gente, o código funciona perfeitamente, mas eu quero deixá-lo mais legível em relação a organização. Então, eu estou tentando mover o método cadastrar() e listarCadastros() para a classe Aluno e assim chamar na função main somente. Nesse sentido, como poderia proceder? (já fiz algumas tentativas mas nada)
package projeto;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Principal {
private Scanner l;
private boolean execute;
private List<Aluno> alunos;
public static void main(String[] args) {
new Principal();
}
private Principal() {
l = new Scanner(System.in);
execute = true;
alunos = new ArrayList<Aluno>();
System.out.println("=============================\\\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\\\n=============================");
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 seu noob !!! \\\\n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:\\\\n");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair\\\\n");
return l.nextLine();
}
private void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("=============================\\\\nCadastro de Usuários\\\\n");
Aluno aluno = new Aluno();
aluno.setNome(textInput(" --> Nome:"));
aluno.setCpf(textInput(" --> CPF: "));
aluno.setNascimento(textInput(" --> Data de Nascimento: "));
System.out.println("=============================\\\\n");
String cadastrar = textInput("==================\\\\nCONFIRMAR CADASTRO (S/N)?\\\\n==================");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("==================\\\\n STATUS: Adicionado com sucesso \\\\n==================\\\\n");
alunos.add(aluno);
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("==================\\\\n STATUS: Cadastro Ignorado\\\\n==================\\\\n");
} else {
System.out.println("\\\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\\\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 seu noob, eu vou sair só porque você não colabora !!! \\\\n");
cadastrando = false;
}
}
}
private void listarCadastros() {
if (alunos.size() == 0) {
System.out.println("\\\\nNão existem cadastros !!!\\\\n");
} else {
System.out.println("==================================\\\\nLista de Cadastros\\\\n");
for (int i = 0; i < alunos.size(); i++) {
Aluno d = alunos.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\\\\tNome: " + d.getNome());
System.out.println("\\\\tCPF: " + d.getCpf());
System.out.println("\\\\tData de Nascimento: " + d.getNascimento() + "\\\\n");
}
System.out.println("\\\\nLista Finalizada\\\\n==================================\\\\n");
}
}
private String textInput(String label) {
System.out.println(label);
return l.nextLine();
}
}
_________________________
package projeto;
public class Aluno {
private String nome;
private String cpf;
private String nascimento;
public Aluno(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
this.nome = name;
}
public String getCpf(){
return cpf;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getNascimento(){
return nascimento;
}
public void setNascimento(String nascimento){
this.nascimento = nascimento;
}
}
package projeto;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Principal {
private Scanner l;
private boolean execute;
private List<Aluno> alunos;
public static void main(String[] args) {
new Principal();
}
private Principal() {
l = new Scanner(System.in);
execute = true;
alunos = new ArrayList<Aluno>();
System.out.println("=============================\\\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\\\n=============================");
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 seu noob !!! \\\\n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:\\\\n");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair\\\\n");
return l.nextLine();
}
private void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("=============================\\\\nCadastro de Usuários\\\\n");
Aluno aluno = new Aluno();
aluno.setNome(textInput(" --> Nome:"));
aluno.setCpf(textInput(" --> CPF: "));
aluno.setNascimento(textInput(" --> Data de Nascimento: "));
System.out.println("=============================\\\\n");
String cadastrar = textInput("==================\\\\nCONFIRMAR CADASTRO (S/N)?\\\\n==================");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("==================\\\\n STATUS: Adicionado com sucesso \\\\n==================\\\\n");
alunos.add(aluno);
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("==================\\\\n STATUS: Cadastro Ignorado\\\\n==================\\\\n");
} else {
System.out.println("\\\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\\\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 seu noob, eu vou sair só porque você não colabora !!! \\\\n");
cadastrando = false;
}
}
}
private void listarCadastros() {
if (alunos.size() == 0) {
System.out.println("\\\\nNão existem cadastros !!!\\\\n");
} else {
System.out.println("==================================\\\\nLista de Cadastros\\\\n");
for (int i = 0; i < alunos.size(); i++) {
Aluno d = alunos.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\\\\tNome: " + d.getNome());
System.out.println("\\\\tCPF: " + d.getCpf());
System.out.println("\\\\tData de Nascimento: " + d.getNascimento() + "\\\\n");
}
System.out.println("\\\\nLista Finalizada\\\\n==================================\\\\n");
}
}
private String textInput(String label) {
System.out.println(label);
return l.nextLine();
}
}
_________________________
package projeto;
public class Aluno {
private String nome;
private String cpf;
private String nascimento;
public Aluno(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
this.nome = name;
}
public String getCpf(){
return cpf;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getNascimento(){
return nascimento;
}
public void setNascimento(String nascimento){
this.nascimento = nascimento;
}
}
E essa foi uma das minhas tentativas:
package projeto;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class Aluno {
private String nome;
private String cpf;
private String nascimento;
private List<Aluno> alunos
= new ArrayList<Aluno>();
public Aluno(){
}
public String getNome(){
return nome;
}
public void setNome(String name){
this.nome = name;
}
public String getCpf(){
return cpf;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getNascimento(){
return nascimento;
}
public void setNascimento(String nascimento){
this.nascimento = nascimento;
}
void cadastrar() {
boolean cadastrando = true;
while (cadastrando) {
System.out.println("=============================\\nCadastro de Usuários\\n");
Aluno aluno = new Aluno();
aluno.setNome(JOptionPane.showInputDialog(" --> Nome:"));
aluno.setCpf(JOptionPane.showInputDialog(" --> CPF: "));
aluno.setNascimento(JOptionPane.showInputDialog(" --> Data de Nascimento: "));
System.out.println("=============================\\n");
String cadastrar = JOptionPane.showInputDialog("==================\\nCONFIRMAR CADASTRO (S/N)?\\n==================");
if (cadastrar.equalsIgnoreCase("s")) {
System.out.println("==================\\n STATUS: Adicionado com sucesso \\n==================\\n");
alunos.add(aluno);
} else if (cadastrar.equalsIgnoreCase("n")){
System.out.println("==================\\n STATUS: Cadastro Ignorado\\n==================\\n");
} else {
System.out.println("\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\n");
}
String continua = JOptionPane.showInputDialog("Continuar cadastrando (S/N) ?");
if (continua.equalsIgnoreCase("N")) {
cadastrando = false;
} else if (continua.equalsIgnoreCase("s")){
} else {
System.out.println("\\nOpção inválida seu noob, eu vou sair só porque você não colabora !!! \\n");
cadastrando = false;
}
}
}
void listarCadastros() {
if (alunos.size() == 0) {
System.out.println("\\nNão existem cadastros !!!\\n");
} else {
System.out.println("==================================\\nLista de Cadastros\\n");
for (int i = 0; i < alunos.size(); i++) {
Aluno d = alunos.get(i);
System.out.println("Cadastro número: " + i);
System.out.println("\\tNome: " + d.getNome());
System.out.println("\\tCPF: " + d.getCpf());
System.out.println("\\tData de Nascimento: " + d.getNascimento() + "\\n");
}
System.out.println("\\nLista Finalizada\\n==================================\\n");
}
}
}
______________
package projeto;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Principal {
private Scanner l;
private boolean execute;
private List<Aluno> alunos;
public static void main(String[] args) {
new Principal();
}
private Principal() {
l = new Scanner(System.in);
execute = true;
alunos = new ArrayList<Aluno>();
Aluno aluno = new Aluno();
System.out.println("=============================\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\n=============================");
while (execute) {
String opcao = menu();
if (opcao.equalsIgnoreCase("n")) {
aluno.cadastrar();
} else if (opcao.equalsIgnoreCase("l")) {
aluno.listarCadastros();
} else if (opcao.equalsIgnoreCase("x")) {
execute = false;
} else {
System.out.println("\\nOpção Inválida seu noob !!! \\n");
}
}
}
private String menu() {
System.out.println("Selecione a opção:\\n");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair\\n");
return l.nextLine();
}
privat
GOSTEI 0
Yan Santos
12/09/2019
Olá Hermano,
Veja se isso lhe ajuda.
Abraço
Veja se isso lhe ajuda.
Abraço
public class Principal { private Scanner l; private boolean execute; private List<Aluno> alunos; public static void main(String[] args) { new Principal(); } private Principal() { l = new Scanner(System.in); execute = true; alunos = new ArrayList<Aluno>(); ConAluno conAluno = new ConAluno(); Menu menu = new Menu(); System.out.println("=============================\\\\\\\\nBEM VINDO AO CADASTRO DE USUÁRIOS\\\\\\\\n============================="); while (execute) { System.out.println(menu.menuPrincipal()); String opcao = l.nextLine(); if (opcao.equalsIgnoreCase("n")) { alunos = conAluno.cadastrar(alunos); } else if (opcao.equalsIgnoreCase("l")) { conAluno.listarCadastros(alunos); } else if (opcao.equalsIgnoreCase("x")) { execute = false; } else { System.out.println("\\\\\\\\nOpção Inválida seu noob !!! \\\\\\\\n"); } } } } public class ConAluno { private Scanner l; public ConAluno() { l = new Scanner(System.in); } public List<Aluno> cadastrar(List<Aluno> alunos) { boolean cadastrando = true; while (cadastrando) { System.out.println("=============================\\\\\\\\nCadastro de Usuários\\\\\\\\n"); Aluno aluno = new Aluno(); aluno.setNome(textInput(" --> Nome:")); aluno.setCpf(textInput(" --> CPF: ")); aluno.setNascimento(textInput(" --> Data de Nascimento: ")); System.out.println("=============================\\\\\\\\n"); String cadastrar = textInput("==================\\\\\\\\nCONFIRMAR CADASTRO (S/N)?\\\\\\\\n=================="); if (cadastrar.equalsIgnoreCase("s")) { System.out.println("==================\\\\\\\\n STATUS: Adicionado com sucesso \\\\\\\\n==================\\\\\\\\n"); alunos.add(aluno); } else if (cadastrar.equalsIgnoreCase("n")) { System.out.println("==================\\\\\\\\n STATUS: Cadastro Ignorado\\\\\\\\n==================\\\\\\\\n"); } else { System.out.println( "\\\\\\\\nOpção inválida seu noob, vou ignorar o cadastro só pra você ter que digitar denovo !!! \\\\\\\\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 seu noob, eu vou sair só porque você não colabora !!! \\\\\\\\n"); cadastrando = false; } } return alunos; } public void listarCadastros(List<Aluno> alunos) { if (alunos.size() == 0) { System.out.println("\\\\\\\\nNão existem cadastros !!!\\\\\\\\n"); } else { System.out.println("==================================\\\\\\\\nLista de Cadastros\\\\\\\\n"); for (int i = 0; i < alunos.size(); i++) { Aluno d = alunos.get(i); System.out.println("Cadastro número: " + i); System.out.println("\\\\\\\\tNome: " + d.getNome()); System.out.println("\\\\\\\\tCPF: " + d.getCpf()); System.out.println("\\\\\\\\tData de Nascimento: " + d.getNascimento() + "\\\\\\\\n"); } System.out.println("\\\\\\\\nLista Finalizada\\\\\\\\n==================================\\\\\\\\n"); } } private String textInput(String label) { System.out.println(label); return l.nextLine(); } } public class Menu { public String menuPrincipal() { StringBuffer mensagem = new StringBuffer(); mensagem.append("Selecione a opção:\\\\n"); mensagem.append("N - Novo cadastro\\\\n"); mensagem.append("L - Listar cadastros\\\\n"); mensagem.append("X - Sair\\\\n"); return mensagem.toString(); } } public class Aluno { private String nome; private String cpf; private String nascimento; public Aluno() { } public String getNome() { return nome; } public void setNome(String name) { this.nome = name; } public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } public String getNascimento() { return nascimento; } public void setNascimento(String nascimento) { this.nascimento = nascimento; } }
GOSTEI 0