五十道编程小题目 --- 14 java


【程序14】 
题目:输入某年某月某日,判断这一天是这一年的第几天? 
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,判断闰年

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import java.util.Scanner;

public class Test14 {
	
	static int[] a = {1,3,5,7,8,10,12};
	static int[] b = {4,6,9,11};
	
	private static List day_31 = Arrays.asList(a);
	private static List day_30 = Arrays.asList(b);
	
	//计算天数
	public static int dayCount(int y,int m, int d){
		
		if(y<0 || m<0 || d<0 || m>12 || d>31){
			return -1;
		}
		
		Calendar c = Calendar.getInstance();
		c.set(y, m-1, d);
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");
		System.out.println("输入日期为:" + sdf.format(c.getTime()));  //格式化时间
	
		
		int yy = c.get(Calendar.YEAR);   // 得到年份
		int mm = c.get(Calendar.MONTH)+1;  //得到月份,月份从0开始算,即一月是0
		int dd = c.get(Calendar.DAY_OF_MONTH); //得到天
		
		int day_sum =0;
		if( (yy%4 == 0 && yy%100 != 0) || yy%100 == 0 ){  //判断闰年
			
			for(int i=1; i
输出结果为:

请输入年月日:
2015
2
12
输入日期为:2015-02-12 
该日期为本年的第40天




你可能感兴趣的:(算法,java进阶,编程,五十道编程小算法)