Como inserir data de nascimento de um apostador com classe calendar em java basico

[code]//eu tou a fazer um projecto em java basico de euromilhoes e tenho duas duvidas um em isnerir a data de nascimento do apostador apartir de classe calendar tipo

import java.utils.Calendar;

public class Apostador implements IApostador {

/**

  • O numero de telefone identifica univocamente um apostador. Não pode haver
  • numeros de telefone repetidos, pelo que devera sempre ser validardo este facto
  • no registo de novos apostadores.
    /
    private int telefone;
    /
    *
  • Nome completo do apostador.
    /
    private String nome;
    /
    *
  • O PIN do apostador deve ter exactamente 4 digitos. O PIN Não devera ser
  • mostrado em qualquer detalhe/listagem de apostadores.
    /
    private short pin;
    /
    *
  • A data de nascimento devera aparecer no formato dd/mm/aaaa (e.g. 03/02/200.
    /
    private java.util.Calendar dataNascimento;
    /
    *
    …**/

}

//e na aplicação…

import java.util.Calendar;
import java.util.Random;

/--------------------------------------------------------------------------------------------------------------/

/--------------------------------------------------------------------------------------------------------------//**

  • @author ipoo
  • @version 1.0
  • @created 11-Nov-2010 01:11:26
    */
    public class Aplicacao {

private static java.util.Scanner teclado = newjava.util.Scanner(System.in);

public static void main(String[] args) {
Aplicacao aplicacao = new Aplicacao();
aplicacao. menuNovoApostador();

/*

  • metodo utilizado para pedir ao utilzador
  • os dados do apostador e fazer validações
    */

private void menuNovoApostador(){

char confirma;
String nome=null;
int telefone;
short pin;
float saldo
Calendar dataNascimento =null

System.out.println(“Introduza o seu numero de telefone:”);
telefone = teclado.nextInt();

System.out.println("Introduza o seu nome: ");
nome = teclado.nextLine();

System.out.println("Introduza a sua data de nascimento "); // a minha duvida é aqui

System.out.println(“Introduza o saldo:”);
saldo= teclado.nextFloat();

System.out.println(“Introduza o seu pin:”);
pin= teclado.nextShort();

System.out.println("Telefone: "+telefone);
System.out.println("Nome Completo: "+nome);
System.out.println("Data de Nascimento: "+dataNascimento); // e a data de nascimento tem que aparecer no formato DD/MM/AAAA
System.out.println("Saldo: "+Utils.formatSaldo(saldo));
System.out.println("Data de Saldo: "+Calendar.getInstance().getTime);
System.out.println("Pin: "+pin);
}

//me ajudem já tentei de todas as maneiras e não consegui.
[/code]

Da uma olhada nesse post.
Pelo q eu entendi, eh isso ai q vc quer fazer…

http://www.guj.com.br/posts/list/97086.java

Inclusive nesse post tem uma url para o site da RoseIndia, que te mostra um exemplo bem simples.

Vlww

Por favor formule melhor seus título e evite colocar coisas como ajuda, help, socorro e etc.

[]s

Procure também sempre colocar o código entre as tags Code.

ex:


//Aqui você coloca seu código Java

Fica muito mais legível para todos nós

Abraço!

Tenho um projeto de Utils que tem funções para converter String no objeto Calendar ou virce versa… e tb tem exemplos de como utilizar e como criar um Calendar…

a descrição da classe é:
http://code.google.com/p/opensutils-br4j/wiki/DateFormat

Download em:
http://code.google.com/p/opensutils-br4j/downloads/list

Obrigado pelo post mas ao implememtar assim o meu codigo, fiz assim mas mesmo assim não dá

[code]public static Calendar formatDataNascimento() {

   try{
    int dia;
    int mes;
    int ano;
    Scanner sc = new Scanner(System.in);
    dia = sc.nextInt();
    mes = sc.nextInt();
    ano = sc.nextInt();

    String str_date= dia+"/"+mes+"/"+ano;
    DateFormat formatter = new SimpleDateFormat("dd/MMM/yy");
    Date data = formatter.parse(str_date);
    
    Calendar cal=Calendar.getInstance();
    cal.setTime(data);
    System.out.println(data.toString());
return cal;// acho ki o erro ta aki porque ao retornar um objecto cal da classe Calendar ao imprimir diz que NAO FOI POSSIVEL RESOLVER A DATA!!! e provavelmente deveria retornar a data o objecto da classe Date mas dá erro porque o metodo é da classe Calendar

} catch (ParseException e)

{System.out.println("NAO FOI POSSIVEL RESOLVER A DATA!!!");
}
  return null;
}[/code]

//…

[code]public class Aplicacao {

private static java.util.Scanner teclado = new java.util.Scanner(System.in);

public static void main(String[] args) {

System.out.println("Introduza a sua data de nascimento dia, mes, e ano: ");
dataNascimento=Utils.formatDataNascimento(); // NAO FOI POSSIVEL RESOLVER A DATA!!!

System.out.println("Data de Nascimento: "+dataNascimento);// Data de Nascimento:null

}
}

// O programa compila e imprimi “NAO FOI POSSIVEL RESOLVER A DATA!!! e a data de nascimento fica igual a null” [/code]

Eu tenho ainda assim mas não dá na mesma

[code]public static Calendar formatDataNascimento(Calendar dataNascimento) {

   try{
    int dia;
    int mes;
    int ano;
    Scanner sc = new Scanner(System.in);
    dia = sc.nextInt();
    mes = sc.nextInt();
    ano = sc.nextInt();

    String str_date= dia+"/"+mes+"/"+ano;
    DateFormat formatter = new SimpleDateFormat("dd/MMM/yy");
    Date data = formatter.parse(str_date);
    
    dataNascimento=Calendar.getInstance();
    dataNascimento.setTime(data);
    System.out.println(data.toString());
    return dataNascimento;

} catch (ParseException e)

{System.out.println("NAO FOI POSSIVEL RESOLVER A DATA!!!");
}
  return dataNascimento;
}

}[/code]

Altere o formato da data para:

(. . .)
        String str_date= dia+"/"+mes+"/"+ano;
        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        Date data = formatter.parse(str_date);
(. . .)