JAVA三天打鱼两天晒网

中国有句俗话叫三天打鱼两天晒网,如果从1990年1月1日起开始执行三天打鱼两天晒网,如何判断在以后的某一天中是打鱼还是晒网

/*
		 	输入的年月日 减去 1990.01.01 的总天数
		 	如果总天数是185
		 	185 每五天一个单位 185%5 123是前三天 4 0是第四第五天
		 */
		Scanner input = new Scanner(System.in);
		System.out.print("请输入年: ");
		int year = input.nextInt();
		System.out.print("请输入月: ");
		int month = input.nextInt();
		System.out.print("请输入日: ");
		int day = input.nextInt();
		//1.计算整年的天数差: year-1-1 --------> 1990-1-1
		int sumOfYears = 0;//保存年天数和
		for(int i = 1990; i < year; i++){
			//从1990到这一年 i 代表每一年
			//是不是闰年
			if(i%4==0&&i%100!=0||i%400==0){
				sumOfYears += 366;
			}else{
				sumOfYears += 365;
			}
		}
		//2.输入的这一年的日期到1990的1月1日的天数差
		int sumOfMonths = 0;//月份天数差
		for(int i = 1; i< month; i++){//从1月到当前月份的上一月
			switch(i){
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
					sumOfMonths += 31; //大月
					break;
				case 2:
					if(year%4==0&&year%100!=0||year%400==0){//如果是闰年
						sumOfMonths += 29;
					}else{
						sumOfMonths += 28;
					}
					break;
				default:
					sumOfMonths += 30;//小月
					break; 
			}
		}
			//总天数 等于 年天数+月天数+当前天数
			System.out.println(sumOfYears+"\t"+sumOfMonths+"\t"+day);
			int totalDays = sumOfYears+sumOfMonths+day;
			System.out.println(totalDays);
			//判断是三天打鱼两天晒网的第几天
			switch(totalDays%5){
				case 1:
				case 2:
				case 3:
					System.out.println("打鱼");
					break;
				default:
					System.out.println("晒网");
					break;
			}
发布了18 篇原创文章 · 获赞 2 · 访问量 1484

猜你喜欢

转载自blog.csdn.net/AppWhite_Star/article/details/104420799