**
三天打鱼,两天晒网。
**
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
首先对题目进行分析,总的来说就是需要将一个输入的日期和初始日期进行相减,然后用所得的天数模5取余,根据余数来判断某天是在干什么。
package zuoye4;
public class Day {//定义日期的 年 月 日
int year;
int month;
int day;
int sum=0;
public Day(int year,int month,int day,int sum) {//将初始的日期赋值
this.year = year;
this.month = month;
this.day = day;
}
public void judge1(int year1) {
for(year=2010;year<year1 ;year++) {
if(year1%4==0&&year1%100!=0||year1%400==0) {//判断是否为闰年
sum+=366;
}else
sum+=365;
}
}
public void judge2(int month1){
for(month=0;month<month1;month++){ // 判断月份,2月需要分两种情况
if(month1==2){
sum+=29;
}else {
sum+=28;
}
if(month1==4||month1==6||month1==9||month1==11) {//其他的月份按照天数的不同分为30天和31天两种
sum+=30*(month1-month);
}else {
sum+=31*(month1-month);
}
}
}
public void judge3(int day1) { // 两个天数相减
for (day=1;day<day1 ;day++) {
sum+=day1-day;
}
}
public void getsum() {//得到的天数除5取余 判断余数为几
int activity=sum%5;
switch(activity) {
case 1:
case 2:
case 3:
System.out.println("今天是打鱼");//余数为1 ,2 ,3输出打鱼
break;
case 0:
case 4:
System.out.println("今天是晒网");//余数为0,4输出晒网
break;
}
}
public static void main(String[] args) {
Day a = new Day(2010,1,1,0);
a.judge1(2032);
a.judge2(1);
a.judge3(15);
a.getsum();
}
}