福尔摩斯的约会

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很

 快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是

 第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、

 以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,

 请帮助福尔摩斯解码得到约会的时间。

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        String[] str = new String[4];
        Scanner sc = new Scanner(System.in);
        int i = 0;
        while(sc.hasNextLine()){
            str[i] = sc.nextLine();
            i++;
        }
        outResult(str);
    }
    public static void outResult(String[] str){
        String result = "";
        int count = 1;
        char[] first = str[0].toCharArray();
        char [] next = str[1].toCharArray();
        char[] scend = str[2].toCharArray();
        char[] third = str[3].toCharArray();
        for(int j=0;j<first.length;j++){
            if(first[j]==next[j]&&first[j]>='A'&&first[j]<='Z'&&count==1){
                result+=(getWeek(first[j])+" ");
                count++;
                continue;
            }
            if(first[j]==next[j]&&count>1){
                result+=getDay(first[j]);
                break;
            }
        }
        for(int j=0;j<scend.length;j++){
            if(third[j]==scend[j]&&third[j]>='a'&&third[j]<='z'){
                if(j<9){
                    result+=(":0"+(j));
                }else{
                    result+=(":"+(j));
                }
                
                break;
            }
        }
        System.out.print(result);
    }
    public static String getWeek(char day){
        String result = "";
        switch(day){
            case 'A' : result = "MON"; break;
            case 'B' : result = "TUE"; break;
            case 'C' : result = "WED"; break;
            case 'D' : result = "THU"; break;
            case 'E' : result = "FRI"; break;
            case 'F' : result = "SAT"; break;
            case 'G' : result = "SUN"; break;
        }
        return result;
    }
    public static String getDay(char day){
         String result = "";
        switch(day){
            case '0' : result = "00"; break;
            case '1' : result = "01"; break;
            case '2' : result = "02"; break;
            case '3' : result = "03"; break;
            case '4' : result = "04"; break;
            case '5' : result = "05"; break;
            case '6' : result = "06"; break;
            case '7' : result = "07"; break;
            case '8' : result = "08"; break;
            case '9' : result = "09"; break;
            case 'A' : result = "10"; break;
            case 'B' : result = "11"; break;
            case 'C' : result = "12"; break;
            case 'D' : result = "13"; break;
            case 'E' : result = "14"; break;
            case 'F' : result = "15"; break;
            case 'G' : result = "16"; break;
            case 'H' : result = "17"; break;
            case 'I' : result = "18"; break;
            case 'J' : result = "19"; break;
            case 'K' : result = "20"; break;
             case 'L' : result = "21"; break;
            case 'M' : result = "22"; break;
            case 'N' : result = "23"; break;
        }
        return result;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值