首页 > 编程语言 >1014 福尔摩斯的约会(JAVA)

1014 福尔摩斯的约会(JAVA)

时间:2022-10-17 20:39:01浏览次数:48  
标签:JAVA scanner s3 s1 福尔摩斯 System && 1014 out


大侦探福尔摩斯接到一张奇怪的字条:

我们约会吧! 
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 分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。

输入格式:

输入在 4 行中分别给出 4 个非空、不包含空格、且长度不超过 60 的字符串。

输出格式:

在一行中输出约会的时间,格式为 ​​DAY HH:MM​​​,其中 ​​DAY​​​ 是某星期的 3 字符缩写,即 ​​MON​​​ 表示星期一,​​TUE​​​ 表示星期二,​​WED​​​ 表示星期三,​​THU​​​ 表示星期四,​​FRI​​​ 表示星期五,​​SAT​​​ 表示星期六,​​SUN​​ 表示星期日。题目输入保证每个测试存在唯一解。

输入样例:

3485djDkxh4hhGE 
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm

输出样例:

THU 14:04

代码实现:

import java.util.Scanner;

/**
* @author yx
* @date 2022-07-13 13:19
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char[] s1=scanner.next().toCharArray();
char[] s2=scanner.next().toCharArray();
char[] s3=scanner.next().toCharArray();
char[] s4=scanner.next().toCharArray();
String[] day=new String[]{"MON","TUE","WED","THU","FRI","SAT","SUN"};
int flag=1;
for (int i = 0; i < Math.min(s1.length,s2.length); i++) {
if(s1[i]==s2[i]&&s1[i]>='A'&&s1[i]<='G'&&flag==1){
System.out.print(day[s1[i]-'A']+" ");
flag++;
}else if(s1[i]==s2[i]&&flag==2){
if(s1[i]>='A'&&s1[i]<='N'){
System.out.printf("%02d:",s1[i]-'A'+10);
break;
}else if(s1[i]>='0'&&s1[i]<='9') {
/* 注意这个小时是0~9,A~N */
System.out.printf("%02d:",s1[i]-'0');
break;
}
}
}
for (int i = 0; i < Math.min(s3.length,s4.length); i++) {
if((s3[i]>='A'&&s3[i]<='Z')||(s3[i]>='a'&&s3[i]<='z')){
if(s3[i]==s4[i]){
System.out.printf("%02d",i);
}
}
}
}
}

标签:JAVA,scanner,s3,s1,福尔摩斯,System,&&,1014,out
From: https://blog.51cto.com/u_15754851/5764302

相关文章

  • 1020 月饼(JAVA)
    月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。......
  • 1013 数素数(JAVA)
    令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每......
  • 1012 数字分类(JAVA)
    给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1​=能被5整除的数字中所有偶数的和;A2​=将被5除后余1的数字按给出顺序进行交错求和,即计算n1​−n......
  • 1011 A+B 和 C(JAVA)
    给定区间[−231,231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式:输入第1行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给......
  • 1011 A+B 和 C(JAVA)
    给定区间[−231,231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式:输入第1行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给......
  • java第30天sql基础
    MYSQL1.sql语句(1)sql语句:结构化查询语言-->写一段只能被数据库识别的语句,可以对数据库中的数据进行增删改查操作(2)sql语句的组成:DML:数据操作语言-->数据库中的......
  • java--Integer和Character常用方法
    //装箱:基本类型转换为包装类对象。通过包装类.valueOf();实现//Integernum2=Integer.valueOf(100);   Integernum1=100;   Integernum3=newInte......
  • Java8中处理日期和时间的常用API
    场景java8中引入了一个新包java.time,包含了多数会用到的核心类。注:博客:https://blog.csdn.net/badao_liumang_qizhi关注公众号霸道的程序猿获取编程相关电子书、教......
  • 2022年最新最全1100+JAVA服务端面试题
    ​Hash索引和B+树区别是什么?你在设计索引是怎么抉择的?描述下Redis的回收策略(淘汰策略)?描述下JVM类加载机制与对象的生命周期?为什么HashMap中String、Integ......
  • java 静态代码块 非静态代码块
    java中的静态代码块在类加载的时候调用(只调用一次),普通代码块在创建对象(只要创建新的对象都会调用一次)的时候调用,普通代码快的调用在构造方法之前publicclassPuTong......