Java - fecha dd mm aaaa sumarle un dia

   
Vista:

fecha dd mm aaaa sumarle un dia

Publicado por alvaro (3 intervenciones) el 19/12/2011 23:00:40
Hola tengo un problemilla con este ejercicio. A partir de una fecha dada el programa tiene que imprimir la fecha mas un dia. El problema es que con el siguiente codigo no me funciona bien el mes de febrero. Sin embargo si hago solo el mes de febrero y los demas por separado si me funcionan bien.
codigo :

import java.util.*;

class DiaMas1
{
public static void main(String [] args)
{
Scanner sc= new Scanner (System.in);
System.out.println("Introduzca dd mm y aaaa separado por espacios");
int dd= sc.nextInt();
int mm= sc.nextInt();
int aaaa= sc.nextInt();

if (((mm==1||mm==2||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12)&&((dd<31))||(mm==4||mm==6||mm==9||mm==11)&&(dd<30))){
dd++;
}else{
mm++;dd=01;
}if (mm>12){
aaaa++; mm=01;
}if ((aaaa%4==0&&(aaaa%100!=0||aaaa%400==0))&&(mm==2&&dd<=28)){
dd++;
}else{
dd=01;}

System.out.println(dd+"/ "+mm+"/ "+aaaa);
}}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

fecha dd mm aaaa sumarle un dia

Publicado por alvaro (3 intervenciones) el 20/12/2011 16:24:56
Al final consegui la solucion. Aqui la dejo


import java.util.*;
/*Escribir una fecha desde teclado y que el programa imprima un dia mas*/
class DiaMas
{
public static void main(String [] args)
{
Scanner sc= new Scanner (System.in);
System.out.println("Introduzca dd mm y aaaa separado por espacios");
int dd= sc.nextInt();
int mm= sc.nextInt();
int aaaa= sc.nextInt();


if (dd<=27){
dd++;
}
else{
if (dd==28){
if (mm!=2){dd++;
}
else {
if ((aaaa%4==0&&(aaaa%100!=0||aaaa%400==0))){
dd++;
}
else{dd=01;mm++;}
}
}
else {
if (dd==29)
{if(mm==2){
dd=01;mm++;
}
else{
dd++;
}
}
else {
if(dd==30){
if (mm==4||mm==6||mm==9||mm==11){
dd=01;mm++;
}
else{
dd++;
}
}
}
if(dd==31){
if (mm==12){
dd=01;mm=01; aaaa++;
}
else{
mm++;dd=01;
}
}
}
}

System.out.println(dd+"/ "+mm+"/ "+aaaa);
}}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar