el codigo que tengo es:
Citar
import cs1.Keyboard;
import java.lang.String;
import java.text.*;
import java.util.*;
public class EX1 {
public static void main(String args[]) {
String nom1,nom2,nom3,sec1,sec2,sec3,data1,data2,data3;
int num1,num2,num3,num4;
int dia1,dia2,dia3,mes1,mes2,mes3,any1, any2,any3;
String data,sistem, comprobar = "n" ;
int dia,mes,anno,anyfin1=0,anyfin2=0,anyfin3=0,mesfin1,mesfin2,mesfin3;
int diafinal1=0, diafinal2=0,diafinal3=0;
System.out.print("Entra el nom de la primera persona: ");
nom1 = Keyboard.readString();
System.out.print("Entra la seccio de la primera persona: ");
sec1 = Keyboard.readString();
System.out.print("Entra la data d'alta de la primera persona:(dd/mm/aaaa) ");
data1 = Keyboard.readString();
System.out.print("Entra el nom de la segona persona: ");
nom2 = Keyboard.readString();
System.out.print("Entra la seccio de la segona persona: ");
sec2 = Keyboard.readString();
System.out.print("Entra la data d'alta de la segona persona: (dd/mm/aaaa) ");
data2 = Keyboard.readString();
System.out.print("Entra el nom de la tercera persona: ");
nom3 = Keyboard.readString();
System.out.print("Entra la seccio de la tercera persona: ");
sec3 = Keyboard.readString();
System.out.print("Entra la data d'alta de la tercera persona: (dd/mm/aaaa) ");
data3 = Keyboard.readString();
//separacion fechas
//primera persona
num1 = data1.length();
dia1=Integer.valueOf(data1.substring(0,2)).intValue() ;
mes1=Integer.valueOf(data1.substring(3,5)).intValue() ;
any1=Integer.valueOf(data1.substring(6 ,10)).intValue() ;
//segunda persona
num2 = data2.length();
dia2=Integer.valueOf(data2.substring(0,2)).intValue() ;
mes2=Integer.valueOf(data2.substring(3,5)).intValue() ;
any2=Integer.valueOf(data2.substring(6 ,10)).intValue() ;
//tercera persona
num3 = data3.length();
dia3=Integer.valueOf(data3.substring(0,2)).intValue() ;
mes3=Integer.valueOf(data3.substring(3,5)).intValue() ;
any3=Integer.valueOf(data3.substring(6 ,10)).intValue() ;
System.out.print("Vol utilitzar la data del sistema? s/n ");
sistem = Keyboard.readString();
if (sistem.equals(comprobar)){
//si quiere poner la fecha a mano
System.out.print("Entri la data de amb la que vol fer el calcul: (dd/mm/aaaa) ");
data = Keyboard.readString();
num4=data.length();
dia = Integer.valueOf(data.substring(0,2)).intValue() ;
mes = Integer.valueOf(data.substring(3,5)).intValue() ;
anno = Integer.valueOf(data.substring(6,10)).intValue() ;
}
else{
//fecha actual
Date date = new Date();
String formato4 = new String("dd/MM/yyyy");
SimpleDateFormat formatoSimple = new SimpleDateFormat(formato4);
data = formatoSimple.format(date);
num4=data.length();
dia = Integer.valueOf(data.substring(0,2)).intValue() ;
mes = Integer.valueOf(data.substring(3,5)).intValue() ;
anno = Integer.valueOf(data.substring(6,10)).intValue() ;}
//calcular años
if (any1 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin1= anno - any1;
if (any2 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin2= anno - any2;
if (any3 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin3= anno - any3;
//calcular mes
if (mes1>mes){
mesfin1=0;}
else{
mesfin1= mes - mes1 -1;}
if (mes2>mes){
mesfin2 =0;}
else{
mesfin2= mes - mes2-1;}
if(mes3>mes){
mesfin3 =0;}
else{
mesfin3= mes - mes3-1;}
//calcular dia primero
double val1 = any1 %100;
double val11 = any1 %400;
if ((val1 ==0)&&(val11==0)&&(mes1==02)) {
diafinal1= 29- dia1;
}
else{
if ((mes1==01)||(mes1==03)||(mes1==05)||(mes1==07)||(mes1==8)||(mes1==10)||(mes1==12))
{
diafinal1 = 31- dia1+4;}
else{
if ((mes1==04)||(mes1==06)||(mes1==9)||(mes1==11)) {
diafinal1 = 30 - dia1+4; }
else{
double valor1 = any1%4;
if (valor1 == 0){
diafinal1 = 29 - dia1;}
else
diafinal1=28-dia1;}
}}
// calcular dia segundo
double val2 = any2 %100;
double val21 = any2%400;
if ((val2 ==0)&&(val21==0)&&(mes2==02)) {
diafinal2= 29- dia2;
}
else{
if ((mes2==01)||(mes2==03)||(mes2==05)||(mes2==07)||(mes2==8)||(mes2==10)||(mes2==12))
{
diafinal2 = 31- dia2+3;}
else{
if ((mes2==04)||(mes2==06)||(mes2==9)||(mes2==11)) {
diafinal2 = 30 - dia2+4; }
else{
double valor23 = any2%4;
if (valor23 == 0){
diafinal2 = 29 - dia2;}
else
diafinal2=28-dia2;}
}}
// calcular dia tercero
double val3 = any3 %100;
double val31 = any3%400;
if ((val3 ==0)&&(val31==0)&&(mes3==02)) {
diafinal3= 29- dia3;
}
else{
if ((mes3==01)||(mes3==03)||(mes3==05)||(mes3==07)||(mes3==8)||(mes3==10)||(mes3==12))
{
diafinal3 = 31- dia3+3;}
else{
if ((mes3==04)||(mes3==06)||(mes3==9)||(mes3==11)) {
diafinal3 = 30 - dia3+4; }
else{
double valor32 = any2%4;
if (valor32 == 0){
diafinal3 = 29 - dia3;}
else
diafinal3= 28-dia3;}
}}
//salida por pantalla
System.out.println("nom"+" " + "seccio"+" " + "Data sd'alta"+" "+"vida laboral");
System.out.println(nom1+" "+sec1+" "+data1+" "+diafinal1+" dies "+mesfin1+" mesos "+anyfin1+" anys ");
System.out.println(nom2+" "+sec2+" "+data2+" "+diafinal2+" dies "+mesfin2+" mesos "+anyfin2+" anys ");
System.out.println(nom3+" "+sec3+" "+data3+" "+diafinal3+" dies "+mesfin3+" mesos "+anyfin3+" anys ");
}
}
import java.lang.String;
import java.text.*;
import java.util.*;
public class EX1 {
public static void main(String args[]) {
String nom1,nom2,nom3,sec1,sec2,sec3,data1,data2,data3;
int num1,num2,num3,num4;
int dia1,dia2,dia3,mes1,mes2,mes3,any1, any2,any3;
String data,sistem, comprobar = "n" ;
int dia,mes,anno,anyfin1=0,anyfin2=0,anyfin3=0,mesfin1,mesfin2,mesfin3;
int diafinal1=0, diafinal2=0,diafinal3=0;
System.out.print("Entra el nom de la primera persona: ");
nom1 = Keyboard.readString();
System.out.print("Entra la seccio de la primera persona: ");
sec1 = Keyboard.readString();
System.out.print("Entra la data d'alta de la primera persona:(dd/mm/aaaa) ");
data1 = Keyboard.readString();
System.out.print("Entra el nom de la segona persona: ");
nom2 = Keyboard.readString();
System.out.print("Entra la seccio de la segona persona: ");
sec2 = Keyboard.readString();
System.out.print("Entra la data d'alta de la segona persona: (dd/mm/aaaa) ");
data2 = Keyboard.readString();
System.out.print("Entra el nom de la tercera persona: ");
nom3 = Keyboard.readString();
System.out.print("Entra la seccio de la tercera persona: ");
sec3 = Keyboard.readString();
System.out.print("Entra la data d'alta de la tercera persona: (dd/mm/aaaa) ");
data3 = Keyboard.readString();
//separacion fechas
//primera persona
num1 = data1.length();
dia1=Integer.valueOf(data1.substring(0,2)).intValue() ;
mes1=Integer.valueOf(data1.substring(3,5)).intValue() ;
any1=Integer.valueOf(data1.substring(6 ,10)).intValue() ;
//segunda persona
num2 = data2.length();
dia2=Integer.valueOf(data2.substring(0,2)).intValue() ;
mes2=Integer.valueOf(data2.substring(3,5)).intValue() ;
any2=Integer.valueOf(data2.substring(6 ,10)).intValue() ;
//tercera persona
num3 = data3.length();
dia3=Integer.valueOf(data3.substring(0,2)).intValue() ;
mes3=Integer.valueOf(data3.substring(3,5)).intValue() ;
any3=Integer.valueOf(data3.substring(6 ,10)).intValue() ;
System.out.print("Vol utilitzar la data del sistema? s/n ");
sistem = Keyboard.readString();
if (sistem.equals(comprobar)){
//si quiere poner la fecha a mano
System.out.print("Entri la data de amb la que vol fer el calcul: (dd/mm/aaaa) ");
data = Keyboard.readString();
num4=data.length();
dia = Integer.valueOf(data.substring(0,2)).intValue() ;
mes = Integer.valueOf(data.substring(3,5)).intValue() ;
anno = Integer.valueOf(data.substring(6,10)).intValue() ;
}
else{
//fecha actual
Date date = new Date();
String formato4 = new String("dd/MM/yyyy");
SimpleDateFormat formatoSimple = new SimpleDateFormat(formato4);
data = formatoSimple.format(date);
num4=data.length();
dia = Integer.valueOf(data.substring(0,2)).intValue() ;
mes = Integer.valueOf(data.substring(3,5)).intValue() ;
anno = Integer.valueOf(data.substring(6,10)).intValue() ;}
//calcular años
if (any1 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin1= anno - any1;
if (any2 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin2= anno - any2;
if (any3 >anno)
System.out.print("L'any actual ha de ser mes gran que el d'alta");
else
anyfin3= anno - any3;
//calcular mes
if (mes1>mes){
mesfin1=0;}
else{
mesfin1= mes - mes1 -1;}
if (mes2>mes){
mesfin2 =0;}
else{
mesfin2= mes - mes2-1;}
if(mes3>mes){
mesfin3 =0;}
else{
mesfin3= mes - mes3-1;}
//calcular dia primero
double val1 = any1 %100;
double val11 = any1 %400;
if ((val1 ==0)&&(val11==0)&&(mes1==02)) {
diafinal1= 29- dia1;
}
else{
if ((mes1==01)||(mes1==03)||(mes1==05)||(mes1==07)||(mes1==8)||(mes1==10)||(mes1==12))
{
diafinal1 = 31- dia1+4;}
else{
if ((mes1==04)||(mes1==06)||(mes1==9)||(mes1==11)) {
diafinal1 = 30 - dia1+4; }
else{
double valor1 = any1%4;
if (valor1 == 0){
diafinal1 = 29 - dia1;}
else
diafinal1=28-dia1;}
}}
// calcular dia segundo
double val2 = any2 %100;
double val21 = any2%400;
if ((val2 ==0)&&(val21==0)&&(mes2==02)) {
diafinal2= 29- dia2;
}
else{
if ((mes2==01)||(mes2==03)||(mes2==05)||(mes2==07)||(mes2==8)||(mes2==10)||(mes2==12))
{
diafinal2 = 31- dia2+3;}
else{
if ((mes2==04)||(mes2==06)||(mes2==9)||(mes2==11)) {
diafinal2 = 30 - dia2+4; }
else{
double valor23 = any2%4;
if (valor23 == 0){
diafinal2 = 29 - dia2;}
else
diafinal2=28-dia2;}
}}
// calcular dia tercero
double val3 = any3 %100;
double val31 = any3%400;
if ((val3 ==0)&&(val31==0)&&(mes3==02)) {
diafinal3= 29- dia3;
}
else{
if ((mes3==01)||(mes3==03)||(mes3==05)||(mes3==07)||(mes3==8)||(mes3==10)||(mes3==12))
{
diafinal3 = 31- dia3+3;}
else{
if ((mes3==04)||(mes3==06)||(mes3==9)||(mes3==11)) {
diafinal3 = 30 - dia3+4; }
else{
double valor32 = any2%4;
if (valor32 == 0){
diafinal3 = 29 - dia3;}
else
diafinal3= 28-dia3;}
}}
//salida por pantalla
System.out.println("nom"+" " + "seccio"+" " + "Data sd'alta"+" "+"vida laboral");
System.out.println(nom1+" "+sec1+" "+data1+" "+diafinal1+" dies "+mesfin1+" mesos "+anyfin1+" anys ");
System.out.println(nom2+" "+sec2+" "+data2+" "+diafinal2+" dies "+mesfin2+" mesos "+anyfin2+" anys ");
System.out.println(nom3+" "+sec3+" "+data3+" "+diafinal3+" dies "+mesfin3+" mesos "+anyfin3+" anys ");
}
}
por cierto aún falta el control de errores pero lo pondre mas adelante.
me podeis ayudar????
gracias por todo