中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用java实现程序解决问题。

package 三天打渔两天晒网;

import java.io.*;

public class Test01 {

    public static void main (String [] args) throws Exception  {
    int i,sum=0;
    
    System.out.println("从2010年1月1日起开始");
    //年输入
    BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("请输入年:");
    String input1=br1.readLine();
    int year=Integer.parseInt(input1);    
    //月输入
    BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("请输入月:");
    String input2=br2.readLine();
    int month=Integer.parseInt(input2);
    //日输入 
    BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("请输入日:");
    String input3=br3.readLine();
    int day=Integer.parseInt(input3);
    
//日期正确性验证
    if((year>=2010)&&(1<=month&&month<=12)&&(1<=day&&day<=31)) {
    

    //首先计算平年或闰年的到2010年1月1日的总天数
    for(i=2010;year>i;i++) 
    {
         if((i%4==0&&i%100!=0)||i%400!=0)
       {  sum+=366;}
         else
         {sum+=365;}
    }//年计算
    for(i=1;i<month;i++)
    {
        switch(i) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:{
            sum+=31;
            break;
        }
        case 4:
        case 6:
        case 9:
        case 11:{
            sum+=30;
            break;
        }
        case 2:{
            if((year%4==0&&year%100!=0)||year!=0) 
            sum+=29;
            else {
                sum+=28;
            }
        }
        }
    }//月计算
    
    sum+=day;//日计算

    System.out.println("总天数day:"+sum);
    System.out.print(year+"-"+month+"-"+day);
    if(sum%5==1||sum%5==2||sum%5==3) {
        System.out.println("他在打渔");    
        
    }
    else {
        System.out.println("他在晒网");
    }
    }
    else {
        System.out.println("输入日期有问题请重新开始输入!");
        
    }
    //将结果输入到out.txt文件中
    FileWriter writer =new FileWriter ("out.txt",true);
    FileWriter reader =new FileWriter ("in.txt",true);
    writer.write(input1+"-"+input2+"-"+input3);
    reader.write(input1+"-"+input2+"-"+input3);
    reader.write("\r\n");
    writer.write("   ");
    writer.close();
    reader.close();
    if(sum%5==1||sum%5==2||sum%5==3) {
        FileWriter writer1 =new FileWriter ("out.txt",true);
        writer1.write("他在打渔");
        writer1.write("\r\n");
        writer1.close();
    }
    else {
        FileWriter writer2 =new FileWriter ("out.txt",true);
        writer2.write("他在晒网");
        writer2.write("\r\n");
        writer2.close();
    }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值