福尔摩斯的约会 (20)
【思路】星期:前面两字符串中第1对相同的大写英文字母
小时:前面两字符串中第2对相同的英文字母,一天的0点到23点由数字0到9、以及大写字母A到N表示
分钟:前面两字符串中第1对相同的字符
import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String[] day = {"MON", "THE", "WED", "THU","FRI","SAT","SUN"}; char[] ch1 = bf.readLine().toCharArray(); char[] ch2 = bf.readLine().toCharArray(); char[] ch3 = bf.readLine().toCharArray(); char[] ch4 = bf.readLine().toCharArray(); int len1 = ch1.length<ch2.length ? ch1.length: ch2.length;//选取一个长度较小的为单位,方便比较 boolean flag = true;//没找到 for(int i=0; i<len1; i++){ if(ch1[i] == ch2[i]){ if(flag){ //星期 if(ch1[i] >= 'A' && ch1[i]<= 'G'){//判断大写字母 System.out.print(day[ch1[i] - 'A'] + " ");//day数组的下标就对应ABCDE flag = false;//找到了 } }else{ //小时 if(ch1[i] >= '0' && ch1[i]<= '9'){ System.out.print("0" +ch1[i] + ":"); break; } if(ch1[i] >= 'A' && ch1[i] <= 'N'){ System.out.print(10 + ch1[i] -'A' + ":"); break; } } } } //分钟 int len2 = ch3.length < ch4.length ?ch3.length : ch4.length;//选取一个长度较小的为单位,方便 for(int i=0; i<len2 ; i++){ if(ch3[i] == ch4[i] && ch3[i] >= 'A'){ if(i<9){ System.out.println("0" + i); break; }else{ System.out.println(i); break; } } } bf.close(); } }