个人名片:
博主:酒徒ᝰ.
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
专栏:PTA习题及解析
介绍:记录了博主在pta学习练题
前言
1.简介
“PTA程序设计类实验辅助教学平台”是由浙江大学主导,杭州百腾教育科技有限公司管理运营,全国高校教师共同建设的程序设计类课程的辅助教学平台。目前,全国538所高校参与,3152位教师共同建设出66095道高质量题目,学生注册用户已达136万;共有14类固定题目集(涵盖C语言、JAVA语言、Python语言、数据结构、数据库系统和中国高校计算机大赛题库等方面)和55类专业课程题目集(涵盖计算机类、电子类、文学类、外语类及华为认证)。包含判断题、填空题、单选题、多选题、程序填空题、函数题、编程题、主观题、多文件编程题和SQL编程题10种题目类型。
2.优点
- 支持20万人同时在线
- 支持多种题型
- 支持多种判题模式
- 为教学质量提供全方位保障
- 即时的答疑系统
一、题目
2021年9月9日,张三想约一直暗恋了很久的的女生小芳看电影,小芳告诉张三这天没空,可以答应在某年某月某日陪他一起看。输入一个约会的日期,请你编写程序判断最终张三是否能实现他约会的愿望,若能实现则输出yes,否则输出no。注意,约会不能穿越到2021年9月9日前。
输入格式:
在一行中输入年月日,用-分隔。
输出格式:
合法的日期输出yes,不合法的日期输出no
输入样例1:
2022-7-7
输出样例1:
yes
输入样例2:
2022-2-29
输出样例2:
no
输入样例3:
2021-2-28
输出样例3:
no
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
二、代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
String[] times = str.split("-");
int[] sum = new int[3];
int i = 0;
for (String time : times) {
int num = Integer.parseInt(time);
sum[i] = num;
i++;
}
int year = sum[0];
int month = sum[1];
int day = sum[2];
//2021年9.9之前
if (year < 2021 ||( year == 2021 && month == 9 && day < 9) || (year == 2021 && month < 9)){
System.out.println("no");
} else {
//二月,判断是否是闰年
if (month == 2){
if ((year % 4 ==0 && year % 100 != 0) || year % 400 == 0){
if (day > 29 || day < 1){
System.out.println("no");
}else {
System.out.println("yes");
}
}else {
if (day > 28 || day < 1){
System.out.println("no");
}else {
System.out.println("yes");
}
}
}else {
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
if (day > 31 || day < 1){
System.out.println("no");
}else {
System.out.println("yes");
}
}else {
if (day > 30 || day < 1){
System.out.println("no");
}else {
System.out.println("yes");
}
}
}
}
}
}
三、笔记
- 如果是4的倍数,该年份一般是闰年;如果不是4的倍数,该年份一般是平年。公历年份是整百数的必须是400的倍数才是闰年,反之则是平年。
- 闰年的判断编程是if (year%400==0||year%100!=0&&year%4 == 0)。
- 条件:
能被4整除且不能被100整除
能被400整除