Day016 PAT乙级 1014 福尔摩斯的约会
2021/5/31 18:22:59
本文主要是介绍Day016 PAT乙级 1014 福尔摩斯的约会,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
PAT乙级 1014 福尔摩斯的约会
题目
分析
- 要输出日期,小时,分钟三个数字,根据第一二个字符串得出日期和小时,根据第三四个字符串可以得出分钟
- 第一二个字符串中,第一对相同的大写英文字母决定日期,A~G分别代表星期一到星期日
- 第一二个字符串中,第二对相同的大写英文字母或者数字决定小时,0点到9点用数字表示,10点到23点用A~N表示
- 第三四个字符串中,第一对相同的英文字母决定分钟,第几个位置的数相同,则表示是第几分钟,从0开始计算
- 找出符合条件的字母或数字,转换成时间后输出,小时和分钟若小于10,则按
0x
的格式输出
代码
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String a = cin.next(); String b = cin.next(); String c = cin.next(); String d = cin.next(); String[] day = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"}; int count = 1; for (int i = 0; i < a.length() && i < b.length(); i++) { boolean f = a.charAt(i) == b.charAt(i); if (f && a.charAt(i) >= 'A' && a.charAt(i) <= 'G' && count == 1) {//判断日期 System.out.print(day[(a.charAt(i) - 'A')] + " "); count++; } else if (f && count == 2) { //判断小时 if (Character.isDigit(a.charAt(i))) { //当是数字时,小于10,输出时前面加个0 System.out.print("0" + a.charAt(i) + ":"); break; } else if (a.charAt(i) >= 'A' && a.charAt(i) <= 'N') {//当是字母时 System.out.print((a.charAt(i) - 'A' + 10) + ":"); break; } } } for (int i = 0; i < c.length() && i < d.length(); i++) {//判断分钟 boolean f = c.charAt(i) == d.charAt(i); if (f && (Character.isUpperCase(c.charAt(i)) || Character.isLowerCase(c.charAt(i)))) {//当是字母时 if (i < 10) System.out.print("0" + i); //小于10的情况,前面加个0 else System.out.println(i); break; } } cin.close(); } }
这篇关于Day016 PAT乙级 1014 福尔摩斯的约会的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南