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

问题:
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”
作业思路提示:
问题分析与算法设计
根据题意可以将解题过程分为三步:
1)计算从2010年1月1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;
若 余数为1,2,3,则他是在“打鱼”
否则 是在“晒网”
程序流程图:
这里写图片描述
package cn.xust.work.www;
import java.util.Scanner;
public class text {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);//分别输入年、月、日
System.out.println(“请输入年份: “);
int year = scan.nextInt();
System.out.println(“请输入月份:”);
int month = scan.nextInt();
System.out.println(“请输入日期”);
int day = scan.nextInt();
judge(getAllDays(year, month, day));
}
//看输入的日期是否合法,并且确定是打鱼还是晒网
private static void judge(int Days) {
if(Days == -1){
System.out.println(“日期不合法”); //输入的日期不合法
}
else if(Days%5 >=1 && Days%5 <= 3){ //当余数为1、2、3时,打鱼,否则为晒网
System.out.println(“打鱼 “);
}
else {
System.out.println(“晒网 “);
}
}
public int year;
public int month[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};//一年中每个月的天数
public int day;
public static int sum = 0;
//判断平年还是闰年
public void getYear(int year){
if((year%4 == 0&&year%100 != 0)||year%400 == 0)
{
month[2] = 29; //闰年二月的天数为29
year = 366; //闰年的天数是366
System.out.println(“闰年”);
}
else
{
year = 365; //平年天数是365
System.out.println(“平年”);
}
}
public static int getAllDays(int year,int month,int day){
if(year < 2010)//年份小于2010,日期不合格
{
//System.out.println(“不在时间区间内!”);
return day = -1;
}
else{
for(int i = 2010;i < year;i++)//天数相加
{
sum += year;
}
}
sum += getBeforeDays(year, month, day);
return sum;
}
private static int getBeforeDays(int year2, int month2, int day2) {
// TODO Auto-generated method stub
return 0;
}
}
运行结果:
这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值