首页 > 其他分享 >PTA 7-5 打印双休日

PTA 7-5 打印双休日

时间:2024-06-17 12:31:28浏览次数:21  
标签:case 06 int 打印 days PTA break 2018 双休日

7-5 打印双休日

分数 20

全屏浏览

切换布局

作者 温彦

单位 山东科技大学

输入年份和月份,打印当月所有双休日日期,打印格式为:“2018-06-16”

输入格式:

年份和月份

输出格式:

双休日日期

输入样例:

在这里给出一组输入。例如:

2018 6

输出样例:

在这里给出相应的输出。例如:

2018-06-02
2018-06-03
2018-06-09
2018-06-10
2018-06-16
2018-06-17
2018-06-23
2018-06-24
2018-06-30

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

import java.text.SimpleDateFormat;
import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		int years=scan.nextInt();
		int month=scan.nextInt();
        //输入我们需要求的年份和月
		int days=0;
		switch(month) {
		case 1:case 3:case 5:case 7:case 8:case 10:case 12:{
			days=31;break;
		}
		case 4:case 6:case 9:case 11:{
			days=30;break;
		}
		case 2:
		if((years%400==0)||(years%100!=0&&years%4==0)) {
			days=29;break;
		}
		else {
			days=28;break;
		}
		}
        //这里判断月份并赋值给days判断这个月有多少天;
		Calendar c1 = Calendar.getInstance();
        //这里我们构造一个Calendar类型,方便我们后续工作,(注:如果不做任何变化,那么它将表示的是当前的日期;)
		for(int i=1;i<=days;i++) {
			c1.set(years, month-1, i);
        //这里就是把这一年的这一个月里的每一天赋值给我们所构造的c1,可以理解为c1就已经表示这一天了,比如根据我们所输入的数据,第一个日期也就是2018-6-1;然后我们直接判断这一天是不是周末;(注:Calendar是从零开始就算月份的,因此我们需要在我们要求的月份基础上减一);
			if(c1.get(c1.DAY_OF_WEEK)==1||c1.get(c1.DAY_OF_WEEK)==7) {
            //这里的c1.DAY_OF_WEEK就代表这一天是星期几,利用这个方法程序会自动判断出这是星期几,值得注意的是,这里一周的开始是从周天开始的;利用get进行判断;
				System.out.printf("%04d-%02d-%02d\n",years,month,i);
        //这里利用printf进行格式化输出,类似于C语言的输出模式;
			}
	}
	}
}

标签:case,06,int,打印,days,PTA,break,2018,双休日
From: https://blog.csdn.net/2303_81795561/article/details/139740373

相关文章

  • 报表开发工具DevExpress Reporting v23.2 - 增强PDF导出、多平台打印等
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpressReporting控件日前正式发布了v23.2,新版本增强了PDF导出、macOS、Linux平台打......
  • 在Linux中,iptables有哪相关的命令?
    在Linux中,iptables是一个强大的命令行工具,用于配置和管理Netfilter包过滤系统,它是Linux内核中实现网络数据包处理功能的一部分。以下是iptables命令及其相关参数和选项的详细介绍:1.基本命令结构iptables[-t表名]COMMAND链名[匹配条件][-j目标动作]-t:指定要操作的......
  • win10安装brother M7650DF打印机驱动怪招
    神州网信win10系统,安装兄弟M7650DF打印机驱动失败,电脑能识别usb信息,就是无法添加打印机,经上网搜索,得出以下解决方案。下载这个压缩包,然后按步骤操作即可!M7650DF/M7650DNFWIN10固件升级说明1.关闭打印机,在电脑上先安装文件夹中Brother_BHL2.exe驱动,完成安装。2.【关键操作】......
  • PTA ---命名规范 Snake2Camel
    用一道例题,学习代码思维!语言描述思路,代码大胆翻译。在绝大多数程序设计语言中,变量名都不能包含空格。那么如果我们使用的变量名由两个或两个以上的单词来命名,我们就需要对这些单词加以区分。一般程序设计中,有两种变量命名规范:Snake方式和Camel方式。Snake方式是指单词用小写......
  • 【C语言习题】30.使用指针打印数组内容
    文章目录作业标题作业内容2.解题思路3.具体代码作业标题使用指针打印数组内容作业内容写一个函数打印arr数组的内容,不使用数组下标,使用指针。arr是一个整形一维数组。2.解题思路先定义一个数组,使用指针打印数组内容那就是说我们可以通过对指针解引用,来访问......
  • 浙大版PTA python程序设计 第七章题目解析
    一、判断题1.以"w"模式打开的文件无法进行读操作。  -正确。以"w"模式(写入模式)打开文件时,只允许写操作,不能进行读操作。如果尝试读操作会引发错误。2.Pandas库是用于图像处理的库。  -错误。Pandas库主要用于数据处理和分析,不是用于图像处理的。图像处理通常......
  • 【GD32F303红枫派使用手册】第十五节 USART-printf打印实验
    15.1实验内容通过本实验主要学习以下内容:串口简介GD32F303串口工作原理使用printf打印信息15.2实验原理15.2.1串口简介串口,从广义上看,指所有串行通信接口,比如RS232、RS422、RS485、SPI、IIC等。串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的通讯......
  • iptables教程
    1.iptables安装1.1iptables和iptables-service的关系iptables是基于内核的,和iptables-services没有关系,不用安装任何工具包就可以使用iptable命令添加的防火墙规则,但是iptables添加的规则是临时的,基于内存的,在系统重启后会消失,所以需要iptables.service服务来对添加......
  • 使用getaddrinfo函数来获取并打印出www.baidu.com的所有IP地址(IPv4和IPv6)
    #include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/socket.h>#include<netdb.h>#include<arpa/inet.h>intmain(){structaddrinfohints,*res,*p;intstatus;charipstr[INET6_AD......
  • 文件IO,创建编号为ABC三个线程,三个线程循环打印自己的编号,要求打印出来的结果必须是ABC
    第二个,拷贝图片#include<myhead.h>typedefstruct{ constchar*srcfile; constchar*destfile; intlen;}info;void*task1(void*arg){ infobuf=*((info*)(arg)); //打开这两个文件,只读的形式 intfd=-1; if((fd=open(buf.srcfile,O_RDONLY))==-1) {......