寒光博客

[PAT] 1014 福尔摩斯的约会
PAT (Basic Level)Practice 1014 福尔摩斯的约会 (20 分) https://pin...
扫描右侧二维码阅读全文
31
2019/08

[PAT] 1014 福尔摩斯的约会

PAT (Basic Level)Practice 1014 福尔摩斯的约会 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560

分析

最后两个测试点总是错误 所以要
注意星期的判断只有A到G 周一到周天(7天7个字母) 本人因此wa了10次 找出了5~6个新的bug..

AC代码 20分

package PAT.BasicLevel;

import java.util.Scanner;

import static java.lang.Math.min;

public class _1014_福尔摩斯约会 {
    public static void main(String[] args) {
        String a1, a2;
        String b1, b2;
        Scanner cin = new Scanner(System.in);
        a1 = cin.next();
        a2 = cin.next();
        b1 = cin.next();
        b2 = cin.next();
        int week = 0;
        String[] weeks = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
        String hour = "";
        String minut = "";
        int aLen = min(a1.length(), a2.length());
        int count = 0;
        for (int i = 0; i < aLen; i++) {
            if (count == 0) {
                if (a1.charAt(i) >= 'A' && a1.charAt(i) <= 'G'&& a1.charAt(i) == a2.charAt(i)) {//第 1 对相同的大写英文字母(大小写有区分)
                    week = a1.charAt(i) - 'A';//0~6 数组索引
                    count++;
                    continue;//很关键
                }
            }
            if (count == 1) {//相同的字符 钟头
                if (a1.charAt(i) == a2.charAt(i)) {//第 2 对相同的字符 于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母 A 到 N 表示
                    if (a1.charAt(i) >= '0' && a1.charAt(i) <= '9') {
                        hour = "0" + a1.charAt(i);
                        break;
                    } else if (a1.charAt(i) >= 'A' && a1.charAt(i) <= 'N') {
                        hour = String.valueOf(a1.charAt(i) - 'A' + 10);
                        break;
                    }
                }
            }
        }
        //b starting
        int bLen = min(b1.length(), b2.length());
        for (int i = 0; i < bLen; i++) {
            if ((b1.charAt(i) >= 'a' && b1.charAt(i) <= 'z' || b1.charAt(i) >= 'A' && b1.charAt(i) <= 'Z') && b1.charAt(i) == b2.charAt(i)) {//注意大写
                if (i <= 9) {
                    minut = "0" + i;
                    break;
                } else {
                    minut = "" + i;
                    break;
                }
            }
        }
        System.out.print(weeks[week] + " " + hour + ":" + minut);
    }
}
本文作者:Author:     文章标题:[PAT] 1014 福尔摩斯的约会
本文地址:https://dxoca.cn/pat/267.html       百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
Last modification:September 1st, 2019 at 10:43 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment