本文档为博主便于记录2017,6,22这一天所记录;
生成的该天正好对应博主父亲在博主的这个年龄时博主的出现。所以是一个小小的纪念日;
package com.AutoFull.demo; //功能实现阳历_某天到阳历某天 中间的天数;知晓其中两样求另外一样。 public class Demo { public static void main(String[] args) { System.out.println("打印出我的生日,应该是!"); printDate(setDay(1970, 1, 6, 266));//我的生日--------70-93;过了23年; System.out.println("----打印纪念日----"); printDate(setDay(2016, 9, 29,266));//所求纪念日 System.out.println("验算生日项");//逐日回溯法;一个个往上加着看。 System.out.println((setDT(1970, 1, 6, 1970, 9, 29))); } //功能返回天数,这个应该是优化法,二分法求解,略 public static int setDT(int year,int month,int day,int year1,int month1,int day1){ int kk=0; int[] date2 = new int[]{year1,month1,day1}; int[] day2 = new int[3]; while(!equalsArr(day2, date2)){ day2 = setDate(year, month, day);//后一天。 year = day2[0]; month = day2[1]; day = day2[2]; kk++;//执行kk次,直到date2和day相同为止 } return kk; } public static int[] setDay(int year,int month,int day,int k){ int[] arr1 = new int[3]; int i=0; while(i<k){ int[] date = setDate(year, month, day); year = date[0]; month = date[1]; day = date[2]; i++; } arr1 = new int[]{year,month,day}; return arr1; } public static int reMon(int year, int month){ int[] arr = new int[]{31,28,31,30,31,30,31,31,30,31,30,31}; if(year%4 == 0){ arr[1] = 29; } return arr[month-1]; } public static int sum(int[] arr){ int sum = 0; for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; } return sum; } //功能,每加一天返回一个日期 public static int[] setDate(int year,int month,int day){ int[] date = new int[3]; int month_count = reMon(year, month); if (day < month_count) { date = new int[]{year,month,day+1}; }else if(month < 12){ date = new int[]{year,month+1,1}; }else{ date = new int[]{year+1,1,1}; } return date; } public static void printDate(int[] date){ System.out.println("该天为: "+date[0]+"/"+date[1]+"/"+date[2]); } public static boolean equalsArr(int[] arr1,int[] arr2){ for (int i = 0; i < arr1.length; i++) { if(arr1[i] != arr2[i]){//中间加个分号,就无敌了 return false; } } return true; } }
-----------------end--------------
今天窝了一天,学了一些简单的算法;另外看了一些GUI的知识,也了解了电商的一些基本课程。