Java方法
创建一个Calendar对象,运用他的 Year .DAY_OF_YEAR;
.MONTH .DAY_OF_MONTH;
package _2_13_计算日期;
import java.util.Calendar;
import java.util.Scanner;
public class Main_Java法 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int y = scanner.nextInt();
int d = scanner.nextInt();
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, y);
calendar.set(Calendar.DAY_OF_YEAR, d);
//+1一定要放在括号的外面。
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
}
}
创建数组法
思路:
把12个月份的天数都放到一个数组里
如果count数大于数组的第一个数,则count值减去数组的第一个数
直到count数小于数组的某一个数,月份就等于i+1,day就等于count
package _2_13_计算日期;
import java.util.Scanner;
/**
把12个月份的天数都放到一个数组里
如果count数大于数组的第一个数,则count值减去数组的第一个数
直到count数小于数组的某一个数,月份就等于i+1,day就等于count
*/
public class Main_数组 {
public static void main(String[] args) {
int[] days = {31,28,31,30,31,30,31,31,30,31,30,31};
int year = 0, count = 0;
int m = 0, d = 0;
Scanner scanner = new Scanner(System.in);
year = scanner.nextInt();
count = scanner.nextInt();
if((year%4==0&&year%100!=0)||year%400==0){
days[1] = 29;
} else {
days[1] = 28;
}
for (int i = 0; i < days.length; i++) {
if(count > days[i]){
count -= days[i];
} else {
m = i+1;
d = count;break;
}
}
System.out.println(m);
System.out.println(d);
}
}
史上最笨的方法
package _2_13_计算日期;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
int count = scanner.nextInt();
int flag = 0;
if((year%4==0&&year%100!=0)||year%400==0){
flag = 1;
}
if(flag == 0){//非闰年
if(count>0&&count<=31){
System.out.println(1);
System.out.println(count);
} else if(count>31&&count<=59){
System.out.println(2);
System.out.println(count-31);
} else if(count > 59 && count <= 90){
System.out.println(3);
System.out.println(count-59);
} else if(count > 90 && count <= 120){
System.out.println(4);
System.out.println(count-90);
} else if(count > 120 && count <= 151){
System.out.println(5);
System.out.println(count-120);
} else if(count > 151 && count <= 181){
System.out.println(6);
System.out.println(count-151);
} else if(count > 181 && count <= 212){
System.out.println(7);
System.out.println(count-181);
} else if(count > 212 && count <= 243){
System.out.println(8);
System.out.println(count-212);
} else if(count > 243 && count <= 273){
System.out.println(9);
System.out.println(count-243);
} else if(count > 273 && count <= 304){
System.out.println(10);
System.out.println(count-273);
} else if(count > 304 && count <= 334){
System.out.println(11);
System.out.println(count-304);
} else if(count > 334 && count <= 365){
System.out.println(12);
System.out.println(count-334);
}
} else {
if(count>0&&count<=31){
System.out.println(1);
System.out.println(count);
} else if(count>31&&count<=60){
System.out.println(2);
System.out.println(count-31);
} else if(count > 60 && count <= 91){
System.out.println(3);
System.out.println(count-60);
} else if(count > 91 && count <= 121){
System.out.println(4);
System.out.println(count-91);
} else if(count > 121 && count <= 152){
System.out.println(5);
System.out.println(count-121);
} else if(count > 152 && count <= 182){
System.out.println(6);
System.out.println(count-152);
} else if(count > 182 && count <= 213){
System.out.println(7);
System.out.println(count-182);
} else if(count > 213 && count <= 244){
System.out.println(8);
System.out.println(count-213);
} else if(count > 244 && count <= 274){
System.out.println(9);
System.out.println(count-244);
} else if(count > 274 && count <= 305){
System.out.println(10);
System.out.println(count-274);
} else if(count > 305 && count <= 335){
System.out.println(11);
System.out.println(count-305);
} else if(count > 335 && count <= 366){
System.out.println(12);
System.out.println(count-335);
}
}
}
}