salve ragazzi mi serve una mano per perfezionare il codice..io vorrei inserire da tastiera i valori che mi servono..posto il codice

package Data;



/** @author user **/



public class DataModel {

private int iGiorno,

iMese,

iAnno;



public DataModel() {

iGiorno=1;

iMese=1;

iAnno=1900;

}



public DataModel(String date){

int Dati[]=ConvertStringToInt(date);

int gg,mm,aa;

gg=Dati[0];

mm=Dati[1];

aa=Dati[2];

if(ControlloData(gg,mm,aa)){

iGiorno=gg;

iMese=mm;

iAnno=aa;

}

else{

iGiorno=1;

iMese=1;

iAnno=1900;

}

}



public DataModel(int gg, int mm, int aa) {

if(ControlloData(gg,mm,aa)){

iGiorno=gg;

iMese=mm;

iAnno=aa;

}

else{

iGiorno=1;

iMese=1;

iAnno=1900;

}

}



public void setData(int Giorno,int Mese, int Anno) {

if(ControlloData(Giorno,Mese,Anno)){

iGiorno=Giorno;

iMese=Mese;

iAnno=Anno;

}

}



public void setData(String DataNuova) {

int Dati[]=ConvertStringToInt(DataNuova);

int gg,mm,aa;

gg=Dati[0];

mm=Dati[1];

aa=Dati[2];

if(ControlloData(gg,mm,aa)){

iGiorno=gg;

iMese=mm;

iAnno=aa;

}

}



public int getiGiorno() {

return iGiorno;

}



public int getiMese() {

return iMese;

}



public int getiAnno() {

return iAnno;

}



public static boolean ControlloData(int gg, int mm, int aa){

boolean control=true;

if (mm<13 && mm>0){

if (mm==4 || mm==6 || mm==9 || mm==11){

if (gg<31 || gg>0){

control=true;

}

}

else if(mm==2){

if((aa%4==0 && aa%100!=0) || (aa%400==0)){

if (gg<30 || gg>0){

control=true;

}

}

}

else{

if (gg<32 || gg>0){

control=true;

}

}

}

else{

control=false;

}

return control;

}



private int[] ConvertStringToInt(String DataNuova){

int Dati[]=new int[3];

int iFormDate=DataNuova.length();

if (iFormDate==10){

String [] sp = DataNuova.split("/");

Dati[0]=Integer.parseInt(sp[0]);

Dati[1]=Integer.parseInt(sp[1]);

Dati[2]=Integer.parseInt(sp[2]);

}

else if(iFormDate==8){

String [] sp = DataNuova.split("/");

Dati[0]=Integer.parseInt(sp[0]);

Dati[1]=Integer.parseInt(sp[1]);

Dati[2]=Integer.parseInt("19"+sp[2]);

}

return Dati;

}



// Calcola la dati in giorni a partire dalla data 00/00/0000

private int CalcDataGior(){

//calcolo quanti anni bisestili ci sono

int iNBis=0;

for (int i=0;i<this.iAnno;i+=1){

if((i%4==0 && i%100!=0) || (i%400==0)){

iNBis+=1;

}

}

//Lavoro sull'anno in corso

//Trovo il numero di giorni nell'ultimo anno

int iGiornUltAnn=0;

for (int i=1; i<this.iMese;i+=1){

if(i==2){

if((this.iAnno%4==0 && this.iAnno%100!=0) || (this.iAnno%400==0)){

iGiornUltAnn=iGiornUltAnn+29;

}

else{

iGiornUltAnn=iGiornUltAnn+28;

}

}

else if(i==4 || i==6 || i==9 || i==11){

iGiornUltAnn=iGiornUltAnn+30;

}

else{

iGiornUltAnn=iGiornUltAnn+31;

}

}

int DatInGiorn;

//calcolo giorni da data 00/00/0000

DatInGiorn=iGiornUltAnn+this.iGiorno+((this.iAnno-1)*365)+iNBis;



return DatInGiorn;

}



public int ContaGiorni(DataModel date){

//Calcolo la data in giorni dell due date

int DatGiorn1=this.CalcDataGior();

int DatGiorn2=date.CalcDataGior();



// calcolo la differenza tra le date in giorni

int iDifferenza;

iDifferenza=Math.abs((DatGiorn1-DatGiorn2));



return iDifferenza;

}

}




package Data;



/** @author user **/



public class DataControl {



/**

* @param args

*/

public static void main(String[] args) {

DataModel data1=new DataModel(),

data2=new DataModel(1,1,1992),

data3=new DataModel("01/01/1993");



int diff1=data1.ContaGiorni(data2);

int diff2=data2.ContaGiorni(data3);



System.out.println("Differenza prima data: "+diff1+" giorni");

System.out.println("Differenza seconda data: "+diff2+" giorni");

}



}