输入某年某月某日,请判断这一天是这一年的第几天? 请用java编程

哪位大哥大姐帮下。。。

import java.util.*;
public class eee
{
public static void main(String[] args)
{
Scanner sd=new Scanner(System.in);
System.out.println("请输入年:");
int year=sd.nextInt();
System.out.println("请输入月:");
int month=sd.nextInt()-1;//月是从0开始计算的,所以这里-1
System.out.println("请输入日:");
int date=sd.nextInt();
Calendar calendar=Calendar.getInstance();
calendar.set(year,month,date);//设置calendar的年月日
int temp=calendar.get(Calendar.DAY_OF_YEAR);//得到当年第几天
System.out.println("你输入的日期是当年第"+temp+"天");
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-18
import java.util.*;
public class Main3{
public static void main(String args[]){
int a ,sum = 0;
boolean leap = false ,b = false;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年 月 日,以空格隔开:");
a = scanner.nextInt();
if(a > 2 && a <= 12)
b = true;
if(a % 4 == 0 && a % 100 != 0 || a % 400 == 0)
leap = true;
a = scanner.nextInt();
switch(a){
case 2 : sum = 31;break;
case 3 : sum = 59;break;
case 4 : sum = 90;break;
case 5 : sum = 120;break;
case 6 : sum = 151;break;
case 7 : sum = 181;break;
case 8 : sum = 212;break;
case 9 : sum = 243;break;
case 10 : sum = 273;break;
case 11 : sum = 304;break;
case 12 : sum = 334;break;
default : System.out.println("error");
}
a = scanner.nextInt();
sum += a;
if(leap && b)
sum ++;
System.out.println("您输入的日期是该年第" + sum + "天");
}
}
已运行通过。本回答被提问者采纳
第2个回答  2010-05-17
public static void main (String arge[]){
int year = 2008;
int month = 12;
int day = 11;
int count=0;
switch(month)
{
case 12:
count += 30;
case 11:
count += 31;
case 10:
count += 30;
case 9:
count += 31;
case 8:
count += 30;
case 7:
count += 31;
case 6:
count += 31;
case 5:
count += 30;
case 4:
count += 31;
case 3:
count += 28;
case 2:
count += 31;
case 1:
count += 0;
}
count += day;
if (year%4==0&&year%100!=0&&month>=3)
{count += 1;}

System.out.print(count);
}