题目内容
中国有句俗语叫“三天打鱼两天晒网”。
某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
用C或C++语言/java/python实现程序解决问题。
算法设计
1.输入当前日期的年、月、日。
2.将正确的日期存入文件in.txt中
2.1用正则表达式判断日期格式是否正确
2.2 判断输入的年、月、日是否正确
3.从文件in.txt中读取出数据
4.计算从2010年1月1日开始至指定日期共有多少天
5.将输入的日期累加到总天数中
6.将总天数对5取模,得到余数
7.若余数为1、2、3时,则当天打鱼,否则为晒网
8.将结果保存到out.txt中
代码
class getData {
private String date;
public getData() throws Exception {
System.out.println("请输入日期:");
Scanner input = new Scanner(System.in);
date = input.nextLine();
if(!Pattern.matches("\\d{8}", date)) {
throw new Exception("日期格式错误!");
}
FileWriter writer = new FileWriter("in.txt");
writer.write(date);
writer.write("\r\n");
input.close();
writer.close();
}
}
class saveData {
private int year;
private int month;
private int day;
private final int MONTH_DAYS[][] = {
{
0,31,28,31,30,31,30,31,31,30,31,30,31},
{
0,31,29,31,30,31,30,31,31,30