怎么样从屏幕输入一个日期,包括年、月、日三个整数,计算这个日期是这一年的第几天,如2007年2月1日是这一年第32天?跪求高手解答!!!

解决方案 »

  1.   

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = dateFormat.parse("2008-01-01");
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
      

  2.   

    Lz不好意思,昨天夜晚打雷,没来得及写代码,就停电了,今天一大早给你补上,代码写了十分钟,贴子找了我一小时。汗。
    import java.util.Scanner; //详请信息,请参考jdk文档;
    public class Mytest {
    public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.println("请输入您要查询的年、月、日:");
    int year = input.nextInt(); //接受年份
    int month = input.nextInt(); //接受月份
    int day = input.nextInt(); //接受天数
    int sum=0; //保存计算结果
    int[] days = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31}; //初始化,令数组中索引为0的天数也为0
    for(int i=0;i<month;i++) {
    sum+=days[i];
    }
    sum+=day;
    if (month>2 && (year%400==0 || year%100!=0 && year%4==0)) { //判断是否为闰年
    sum++; //如果是,则加1天
    }
    System.out.println(year+"年"+month+"月"+day+"日,是这一年当中的第"+sum+"天");
    }
    }
      

  3.   

    增加一处input.close(),修改一处别错别字。
    import java.util.Scanner; //详情信息,请参考jdk文档;
    public class Mytest {
    public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.println("请输入您要查询的年、月、日:");
    int year = input.nextInt(); //接受年份
    int month = input.nextInt(); //接受月份
    int day = input.nextInt(); //接受天数
    input.close(); //关闭流
    int sum=0; //保存计算结果
    int[] days = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31}; //初始化,令数组中索引为0的天数也为0
    for(int i=0;i<month;i++) {
    sum+=days[i];
    }
    sum+=day;
    if (month>2 && (year%400==0 || year%100!=0 && year%4==0)) { //判断是否为闰年
    sum++; //如果是,则加1天
    }
    System.out.println(year+"年"+month+"月"+day+"日,是这一年当中的第"+sum+"天");
    }
    }