java小题:福尔摩斯的约会

原题地址:https://www.nowcoder.com/pat/6/problem/4040

防止广告嫌疑,原题为:

题目描述

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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


  花了2个小时多小时,终于调试出,代码如下:

package ceshi;

import java.util.Arrays;import java.util.List;import java.util.Scanner;import java.util.Vector;

/** * Created by mrma on 17-4-10. */public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int i = 0;        String yu[] = new  String[4];

while (i < 4){            yu[i] = sc.nextLine();            i++;        }

char a[][] = new char[yu.length][];

int tongyi[] = new int[3];

for (i = 0;i<yu.length;i++){           a[i] = yu[i].toCharArray();        }        int j = 0;        for(i = 0;i<a[0].length;i++){

if(a[0][i] == a[1][i]){                if(a[0][i] >= 65 && a[0][i] <= 90){                    tongyi[j] = a[0][i] - 65 + 1;                    if(j == 1)                        tongyi[j] += 9;                    j++;                }                if(tongyi[0] != 0 && a[0][i] >= ‘0‘ && a[0][i]<=‘9‘){                    tongyi[1] = Integer.valueOf(String.valueOf(a[0][i]));                    j++;                }

}

if(j == 2)                break;        }

for(i = 0;i<a[2].length;i++){            if(a[2][i] == a[3][i] && a[2][i]>= 97 && a[2][i]<=122 ){                tongyi[2] = i;                break;            }        }

String jg="";        switch (tongyi[0]){            case 1:                jg = "MON ";                break;            case 2:                jg = "TUE ";                break;            case 3:                jg = "WED ";                break;            case 4:                jg = "THU ";                break;            case 5:                jg = "FRI ";                break;            case 6:                jg = "SAT ";                break;            case 7:                jg = "SUN ";                break;        }        System.out.print(jg);        System.out.printf("%02d",tongyi[1]);        System.out.printf(":%02d",tongyi[2]);

sc.close();    }}


一点一点进步了。却发现有好多现成的类没有用的,为了能简洁代码,尝试用了多次数组,也发现char类型为数字时,要先转字符串再转数字。

如果有更好的建议或想法,希望您能提出,谢谢。

时间: 2024-11-03 21:07:36

java小题:福尔摩斯的约会的相关文章

java小题

1.通过键盘输入一个整数n,编程计算1+2+3+...+n的值. 2.通过键盘输入任意6个整数,输出最大数和最小数. 3.编写程序计算12-22+32-42+...+972-982+992-1002的值. ?4.定义一个学生类Student,在类中定义4个成员变量id,age,last_name(姓),first_name(名),再定义一个方法getName返回该人的全名, ?在主类中创建Student类的对象,给上面的字段赋值,同时调用方法,把全名输出. ?5.定义一个名为Cylinder表示

四道java小题

一:分析以下需求,并用代码实现     1.定义List集合,存入多个字符串     2.删除集合中字符串"def"     3.然后利用迭代器遍历集合元素并输出 1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class Topic1 5 { 6 public static void main(String[] args) { 7 ArrayList<String> arrayList =

PAT-乙级-1014. 福尔摩斯的约会 (20)

1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”.大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表

【原创】这道Java基础题真的有坑!我也没想到还有续集。

前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏的知识点是什么. 但是我是万万没想到啊,这篇文章居然还有续集.因为有很多读者给我留言,问我为什么?怎么回事?啥情况? 问题片段一:到底循环几次? 有很多读者针对文章的下面的这个片段: 来问了一些问题:为什么会循环三次?循环二次?循环一次? 源码看的脑袋疼.那我觉得我需要"拯救"一下这个哥们

Java小项目之:在线测评考试系统

Java小项目之:在线测评考试系统,让你可以在家考科一!今天带来的java小项目是一套在线测评考试系统,题库是科目一的.不仅可以在家练练java技术,还可以边学习学习科目一,一举两得.界面介绍:开始.分数.考试规则.离开,四个选项.还有很多题库可以选择,可以私信我!代码展示:package service; import java.util.ArrayList; import java.util.List; import java.util.Random; import util.Config;

关于js中全局变量和局部变量的寄到小题

往往最基本的也是最根本的. 这里有三道关于全局变量和局部变量的小题,供诸位一阅. 知识点: (1)在最外层声明的是全局变量 (2)在函数内声明的是局部变量 (3)在函数体内部,但是没有用var声明的变量也是全局变量 第一题: var a = 10;function fun(){var a = "global";}console.log(a); 第二题: var a ;function fun(){a = "global";} fun();console.log(a)

基于Bluemix快速构建部署一款Java小程序——微博影响力分析器

一.前言 近年来IT界风云际会,各种新概念如大数据.云平台.虚拟化等,如雨后春笋般层出不穷.而云平台,可以说是近些年来引领时代新潮的边缘概念之一,各大厂商竞相推出各种云产品,抢占云市场高地.近期,IT百年老厂IBM也推出了其花费重金打造的基于CloudFoundry开放标准的云平台Bluemix.本文就旨在从一位普通Java开发者角度,尝鲜Bluemix云平台及其提供的Cloudant服务,快速构建并部署一款Java小程序"微博影响力分析器". 二."微博影响力分析器&quo

近来的java小总结(2.1):类的知识的查漏补缺

首先,我是一名新手,所以,要带着批判的眼光来看下面的文章   这篇文章说了些什么? 这文章是我近来8.6号来在编程思想上打的代码,从0~200页的源码接近到在这里,下文正是总结这0~200页的的知识,涉及到接口,内部类.初始化,数值计算的一些细节.此文章不会一下子写完,可能隔一天可能再补下来.因为代码确实有点多.. 注意 1 我的注释不一定正确(不过各小标题和代码一定是正确的,因为是书本上的原话,但是注释不一定正确),如果你确信我的内容的话,你可能会损失很大,因为我只是个菜鸟,我只是来补救一些知

搜索文件或目录中包含字符串的文件 java小程序

package com.ruishenh.spring.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Enumeration; import java.