Duvida de formatação

3 respostas
luhkas1107

Queria saber se meu codigo esta de uma maneira de facil entendimento , caso nao esteja por favor me ajudem a torna-lo um codigo mais organizado que “tecnicas” ou que regra devo seguir para organiza-lo

import javax.swing.*;
import java.text.SimpleDateFormat;
public class Cadastro {
	public static String[] nome= new String [99];
	public static String[] idade=new String [99];
	public static String[] rg=new String [99];
	public static String[] telefone=new String [99];
	public static String[] cidade=new String [99];
	public static SimpleDateFormat formatdata;
	public static String[] data = new String [99];
	public static int cont=1;
	public static int indexpesquisa;
	
	
	public static void menu (){
		int op;
		String aux;
		aux=JOptionPane.showInputDialog(null, "Digite a opçao desejada:\n 1-Cadastro \n 2- Pesquisa \n 3- Excluir");
		op=Integer.parseInt(aux);
		switch (op){
		case 1 : cadastro();break;
		case 2 : pesquisarcadastro();break;
		case 3 : excluircadastro(); break;
		default : JOptionPane.showMessageDialog(null, " \n Codigo Errado!!");
		menu();
		}
		
	}
	
	
	public static void cadastro (){
		
		char modeloidade;
		char modeloidade2;
		
		
		if (cont <= 99){
		nome[cont]=JOptionPane.showInputDialog("Digite seu nome: ");
		idade[cont]=JOptionPane.showInputDialog("Digite a data de nascimento (dd/mm/aaaa): ");
		modeloidade=idade[cont].charAt(2);
		modeloidade2=idade[cont].charAt(2);
		if ( modeloidade!=('/') && modeloidade2!=('/')){
			JOptionPane.showMessageDialog(null, "Idade digitada no formato errado");
			menu();
		}
		
		rg[cont]=JOptionPane.showInputDialog("Digite seu RG: ");
		cidade[cont]=JOptionPane.showInputDialog("Digite sua cidade: ");
		
				
		JOptionPane.showMessageDialog(null, "Cadastro Efetuado com suscesso!!\n Seu codigo é : " +cont);
		visualizarcadastro();

		}
	}
	
	public static void excluircadastro(){
		int cod;
		String descisao;
		String aux;
		
		aux=JOptionPane.showInputDialog("Digite o codigo do cadastro: ");
		cod=Integer.parseInt(aux);
		if (cod <= 99 && cod > 0 && cont<=99 && cont > 0){
			JOptionPane.showMessageDialog(null, "LEMBRE-SE AO EXCLUI UM CADASTRO SEU CODIGO DE CADASTRO\n NAO PODERAR MAIS SER PREENCHIDO!");
			descisao=JOptionPane.showInputDialog(" DESEJA REALMENTE EXCLUIR ESSE CADASTRO?\n\n Nome: " +nome[cod]+ "\n Data de nascimento: " +idade[cod]+ "\n RG: " +rg[cod]+ "\n Cidade: " +cidade[cod]+ " \n\nDigite 'Sim' ou 'Nao'");
			if (descisao=="Sim" || descisao=="sim"){
				nome[cod]="";
				idade[cod]="";
				rg[cod]="";
				cidade[cod]="";
				JOptionPane.showMessageDialog(null, "Cadastro excluido com Suscesso!");
				menu();
			}else if (descisao == "Nao" || descisao =="nao"){
				JOptionPane.showMessageDialog(null, "Opçao nao Reconheçida!");
				
				menu();
			}
		}else {
			JOptionPane.showMessageDialog(null, "Codigo errado! Ou Pessoas não cadastradas");
		menu();
		
		
	}
	
	
	}
	public static void visualizarcadastro(){
		
		JOptionPane.showMessageDialog(null, "Nome: " +nome[cont]+ "\n Data de nascimento: " +idade[cont]+ "\n RG: " +rg[cont]+ "\n Cidade: " +cidade[cont]);
		cont ++;	
		menu();	
	}
	public static void visualizarpesquisa(){
		JOptionPane.showMessageDialog(null, "Nome: " +nome[indexpesquisa]+ "\n Data de nascimento: " +idade[indexpesquisa]+ "\n RG: " +rg[indexpesquisa]+ "\n Cidade: " +cidade[indexpesquisa]);
		menu();
	}
	public static void pesquisarcadastro (){
		
		String aux1;
		aux1=JOptionPane.showInputDialog("Digite o codigo de cadastro: ");
		indexpesquisa=Integer.parseInt(aux1);
		JOptionPane.showMessageDialog(null, "...Pesquisando...");
		visualizarpesquisa();
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		menu();

	}

}

3 Respostas

Rodrigo_Sasaki

Você poderia torná-lo mais orientado a objetos.

Crie uma classe que encapsule todos esses dados, Pessoa ou seja lá o que está sendo cadastrado, e crie uma lista dessa classe, ao invés de manter vários dados separadamente.

leopaines

Pode torná-lo mais orientado e,
você pode pesquisar sobre Code Patterns, é bem interessante as regras desmonstradas lá, tais como,

Identação, Nomenclatura, Comentários, Estruturas de classes, etc …

Isso pode te orientar na organização do codigo, além de ajudar na futura manutenção dos mesmos :slight_smile:

Att

marcelo.silva.java
public static String[] nome= new String [99];  
    public static String[] idade=new String [99];  
    public static String[] rg=new String [99];  
    public static String[] telefone=new String [99];  
    public static String[] cidade=new String [99];  
    public static SimpleDateFormat formatdata;  
    public static String[] data = new String [99];

Cara tudo isso poderia ser um objeto

public class Pessoa{
private String nome;
private Integer idade;
private long rg;
private String telefone;
private String cidade;
private Date data;

//getter e setter
}

ae no sua classe cadastro vc poderia ter uma lista de Aluno,

private List<Pessoa> listaPessoa = new ArrayList<>();

    public List getListaPessoa() {
        return listaPessoa;
    }

    public void setListaPessoa(List listaPessoa) {
        this.listaPessoa = listaPessoa;
    }
    
    public void salvar(){
        Pessoa pessoa = new Pessoa();
        pessoa.setNome(JOptionPane.showInputDialog("Digite seu nome"));
        pessoa.setIdade("Digite a idade");
        pessoa.setRg("Digite seu rg");
        pessoa.setTelefone("Digite seu telefone");
        pessoa.setCidade("Digite sua Cidide");
        pessoa.setData(new Date());
        listaPessoa.add(pessoa);
    }

tendeu?

Criado 11 de abril de 2013
Ultima resposta 11 de abr. de 2013
Respostas 3
Participantes 4