Determinar cuantos días faltan para que acabe el año
Desarrollar un programa que dado una fecha determine cuantos días faltan para que acabe el año.
Nos piden desarrollar un programa que ingresado una fecha (día/mes/año) por teclado determine los días que faltan para que acabe dicho año. Para ello pasamos al siguiente análisis:
1. Debemos determinar si el año ingresado es bisiesto o no.
if((year%4==0) && !(year%100==0 && year%400!=0))
{x=29;} //días del mes febrero en caso de ser bisiesto
else
{x=28;} //días del mes febrero en caso de NO ser bisiesto
También podemos usar esta condicional:
if(year%4==0 && year%100!=0 || year%400==0)
{x=29;}
else
{x=28;}
2. Ahora dependiendo del mes ingresado calculamos los días transcurridos.
switch(mes)
{
case 1:d=0;
break;
case 2:d=31;
break;
case 3:d=31+x;
break;
case 4:d=31+x+31;
break;
case 5:d=31+x+31+30;
break;
case 6:d=31+x+31+30+31;
break;
case 7:d=31+x+31+30+31+30;
break;
case 8:d=31+x+31+30+31+30+31;
break;
case 9:d=31+x+31+30+31+30+31+31;
break;
case 10:d=31+x+31+30+31+30+31+31+30;
break;
case 11:d=31+x+31+30+31+30+31+31+30+31;
break;
case 12:d=31+x+31+30+31+30+31+31+30+31+30;
break;
}
3. Para finalizar solo nos queda calcular los días que faltan para terminar el año.
falta=((337+x)-(dia+d));
Código Completo como Determinar cuantos días faltan para que acabe el año en Java:
package arturohv;
import java.util.*;
public class cuantosdiasfaltan {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int dia,mes,year,falta,x=0,d=0;
System.out.print("Ingresa el dia: ");
dia=teclado.nextInt();
System.out.print("Ingresa el mes: ");
mes=teclado.nextInt();
System.out.print("Ingresa el año: ");
year=teclado.nextInt();
if((year%4==0)&&!(year%100==0&&year%400!=0))
{x=29;}
else
{x=28;}
switch(mes)
{
case 1:d=0;
break;
case 2:d=31;
break;
case 3:d=31+x;
break;
case 4:d=31+x+31;
break;
case 5:d=31+x+31+30;
break;
case 6:d=31+x+31+30+31;
break;
case 7:d=31+x+31+30+31+30;
break;
case 8:d=31+x+31+30+31+30+31;
break;
case 9:d=31+x+31+30+31+30+31+31;
break;
case 10:d=31+x+31+30+31+30+31+31+30;
break;
case 11:d=31+x+31+30+31+30+31+31+30+31;
break;
case 12:d=31+x+31+30+31+30+31+31+30+31+30;
break;
}
falta=((337+x)-(dia+d));
System.out.println("\nLa fecha actual es: "+dia+"/"+mes+"/"+year+" y faltan "+falta+" dias para finalizar el año.");
}
}

No hay comentarios:
Publicar un comentario