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.");

   }

}