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

简介: Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了

题目描述:


大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。


4afbe52afa85492b92fae645e6cdc6c9.png9e3eba452aa74454891777bd97dad0ba.png


Java代码:


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] chars1 = scanner.nextLine().toCharArray();
        char[] chars2 = scanner.nextLine().toCharArray();
        char[] chars3 = scanner.nextLine().toCharArray();
        char[] chars4 = scanner.nextLine().toCharArray();
        int no = 1;
        String date = "";
        int h = 0;
        int m = 0;
        for (int i = 0; i < Math.min(chars1.length,chars2.length); i++) {
            if (chars1[i] == chars2[i] && no == 1 && chars1[i] >= 'A' && chars2[i] <= 'G'){
                switch (chars1[i]){
                    case 'A': date = "MON"; break;
                    case 'B': date = "TUE"; break;
                    case 'C': date = "WED"; break;
                    case 'D': date = "THU"; break;
                    case 'E': date = "FRI"; break;
                    case 'F': date = "SAT"; break;
                    case 'G': date = "SUN"; break;
                }
                no++;
                continue;
            }
            if (chars1[i] == chars2[i] && no == 2 && chars1[i] >= '0' && chars1[i] <= '9'){
                h = chars1[i] - 48;
                break;
            }else if (chars1[i] == chars2[i] && no == 2 && chars1[i] >= 'A' && chars1[i] <= 'N') {
                h = chars1[i] - 55;
                break;
            }
        }
        for (int i = 0; i < Math.min(chars3.length,chars4.length); i++) {
            if (chars3[i] == chars4[i] && (chars3[i] + "").toUpperCase().toCharArray()[0] > 64 && (chars3[i] + "").toUpperCase().toCharArray()[0] < 91){
                m = i;
                break;
            }
        }
        String mf = "";
        String hf = "";
        if (h < 10) hf = "0" + h;
        else hf = "" + h;
        if (m < 10) mf = "0" + m;
        else mf = "" + m;
        System.out.print(date + " " + hf + ":" + mf);
        scanner.close();
    }
}



相关文章
|
12月前
|
程序员
程序员的恐惧之源---‘“改需求”
【5月更文挑战第21天】程序员的恐惧之源---‘“改需求”
|
9月前
|
程序员
编程之旅:从代码中寻找生命的意义
【8月更文挑战第29天】在编程的世界里,每一行代码都蕴含着深刻的意义。它们不仅仅是冰冷的字符和数字,更是我们思考、创造和解决问题的工具。通过编程,我们可以探索未知的世界,实现自己的梦想。本文将分享一些编程感悟,带你领略编程的魅力和意义。
59 8
|
数据采集 大数据 Python
学Python静不下来,看了一堆资料还是很迷茫是为什么
学Python静不下来,看了一堆资料还是很迷茫是为什么
84 2
学Python静不下来,看了一堆资料还是很迷茫是为什么
|
设计模式 缓存 算法
花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
246 0
|
Python
一日一技:你的代码是如何被炫技毁掉的
一日一技:你的代码是如何被炫技毁掉的
144 0
|
数据采集 存储 Python
|
存储 关系型数据库 MySQL
熬了整整30天,java面向对象编程基础实验报告
熬了整整30天,java面向对象编程基础实验报告
熬了整整30天,java面向对象编程基础实验报告
J3
|
机器学习/深度学习 存储 缓存
有图有真相的Java内存模型基础,你好意思不看嘛!
有图有真相的Java内存模型基础
J3
174 0
有图有真相的Java内存模型基础,你好意思不看嘛!
|
机器学习/深度学习 人工智能 移动开发
从需求生成代码?D2 最具争议的分享,你值得来瞄一眼
专访狼叔和卓风,聊聊他们这个最受争议也备受期待的话题背后的故事。
从需求生成代码?D2 最具争议的分享,你值得来瞄一眼
|
芯片
假如一瞬间让所有人拥有世界上所有的知识 | 20181116奇葩说犀利言句摘录
“美国经济学家 诺奖得主西奥多·舒尔茨 研究结果:当社会的平均受教育水平更高的时候,贫富差距会越来越小——一旦共享知识了,人人变得更博学了,那个这个世界,将会每个角落的贫富差距都会在缩小,寒门将出更多的贵子” 人类文明最大的教训,就是对技术的警惕,对人性的宽容; 人类文明最大的经验,就是对技术的宽容,对人性的警惕。
1151 0