Bootstrap

java基础练习:三天打鱼,两天晒网

打渔还是晒网

中国有句老话叫“三天打渔,两天晒网”。假设有一个人从2000 年1 月1 日 开始“三天打渔两天晒网”,读入三个整数,分别表示年份、月份、日期, 问这三个整数所表示的那天这个人在打渔还是在晒网? 此处假设:1个月是30天,一年是365天

分析:使用Scanner接收数据,使用条件计算天数再对5取余,判断对应的行为

这里使用了两种:for和直接计算 推荐使用直接计算

package day05;
​
import java.util.Scanner;

public class Demo6 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入2000年以上的年份:");
            int year = scanner.nextInt();
            if (year<2000){
                System.out.println("输入的年有误");
            }else {
                System.out.println("请输入正确的月数:");
                int month = scanner.nextInt();
                if (month<=0||month>12){
                    System.out.println("输入的月有误");
                }else {
                    System.out.println("请输入正确的日数:");
                    int day = scanner.nextInt();
                    if (day <= 0||day>30) {
                        System.out.println("输入的天有误");
                    } else {
                        System.out.println(judge(year, month, day));
                    }
                }
            }
        }
    }
    //方法1:
//    public static String judge(int Y,int M,int D) {
//        int index = 0;//从2000,1.1开始的每天
//        for (int i = 2000; i <= Y; i++) {
//            if (i > 2000) {
//                index += 365;//从2000开始,每过一年就加365天
//            }
//            for (int j = 1; j <= M; j++) {
//                if (j > 1)
//                    index += 30;//每过一个月加30天
//            }
//        }
//
//        index += D;   //加天数
//
//        if (index <= 5) {
//            int m = index + 5;
//            return ((m % 5) ==4)||((m % 5) ==0) ? "晒网" : "打鱼";
//        } else {
//            int n = index + 10;
//            return ((n % 5) ==4)||((n % 5) ==0) ? "晒网" : "打鱼";
//        }
//    }
//
    //方法2:
    public static void ff2(int year, int month, int day) {


    int num = (2000 - year) * 365 + (12 - month) * 30 + day;
                        if(num <=5)

    {
        int m = num + 5;
        System.out.println(((m % 5) == 4) || ((m % 5) == 0) ? "晒网" : "打鱼");
    } else

    {
        int n = num;
        System.out.println(((n % 5) == 4) || ((n % 5) == 0) ? "晒网" : "打鱼");
    }
}
}
;