Oi novamente pessoal
Estou com um problema para gerar uma Data, então vou direto para o código que é mais legal.
/*
*
* TIPO ABSTRATO HETEROGENEO ORIENTADO A OBJETO
* Neste caso o objeto é Aluno
*
* Exercicio:
*
* Criar objeto Aluno com as seguintes caracte-
* risticas:
*
* - Matricula;
* - Nome;
* - Data de Nascimento;
* - Sexo.
*
* Depois, criar metodos para:
*
* - Cadastrar;
* - Listar;
* - Pesquisar por Nome/Matricula/Data de Nascimento/Sexo;
* - Ordenar por Nome/Matricula/Data de Nascimento/Sexo;
*
* No caso de Cadastrar, na data de nascimento pode-se usar
* a função Date(java.util.Date) para transformar o String
* em um Date, em uma data.
*
*
*
*/
import java.awt.TextArea;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
public class Abstrato_2 {
static final int MAX = 4;
static int opMenu1 = 0, opMenu2 = 0, contador = 0;
static String saida = "";
static class Aluno {
int matricula;
String nome;
Date dataNascimento;
char sexo;
}
public static void main(String arg[]) {
Aluno aluno[] = new Aluno[MAX];
TextArea conteudo = new TextArea();
conteudo.setEditable(false);
String menu1 = "1 - Cadastrar\n" + "2 - Listar\n" + "3 - Pesquisar\n"
+ "4 - Ordenar\n" + "5 - Sair";
String menu2 = "1 - Matricula\n" + "2 - Nome\n"
+ "3 - Data de Nascimento\n" + "5 - Sexo";
while (opMenu1 != 5) {
opMenu1 = Integer.parseInt(JOptionPane.showInputDialog(menu1));
switch (opMenu1) {
case 1:
cadastrar(aluno);
break;
case 2:
conteudo.setText(listar(aluno));
JOptionPane.showMessageDialog(null, conteudo);
}
}
}
private static String listar(Aluno[] aluno) {
for (int i = 0; i < MAX; i++) {
if (aluno[i] != null) {
saida += "Matricula: " + aluno[i].matricula + "\nNome: "
+ aluno[i].nome + "\nData de Nascimento: "
+ aluno[i].dataNascimento + "\nSexo: " + aluno[i].sexo
+ "\n\n";
}
}
return saida;
}
private static void cadastrar(Aluno[] aluno) {
if ( contador < MAX ) {
aluno[contador] = new Aluno();
aluno[contador].matricula = Integer.parseInt(JOptionPane.showInputDialog("Matricula:"));
aluno[contador].nome = JOptionPane.showInputDialog("Nome:");
String nascData = JOptionPane.showInputDialog("Data de Nascimento: dd/mm/aaaa");
aluno[contador].dataNascimento = gerarData(nascData);
aluno[contador].sexo = JOptionPane.showInputDialog("Sexo: M/F").toUpperCase().charAt(0);
}
}
private static Date gerarData(String nascData) {
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
try {
Date casdastroData = data.parse(nascData);
return casdastroData;
} catch ( Exception ex) {
JOptionPane.showMessageDialog(null, "Data invalida");
return new Date();
}
}
}
Meu problema esta no metodo gerarData, nesta parte, linha 116 e 117:
Date casdastroData = data.parse(nascData);
return casdastroData;
eu coloquei a data: 10/10/1960 e esta retornando “Sun Jan 10 00:00:00 BRT 1960”.
Fiz dessa forma para não cadastrar datas invalidas mas queria que a saida fosse 10/10/1960. Já tentei uns comandos diferentes, só não estou conseguindo resolver.
Alguem pode me ajudar?
Vlw