API
toCharArray()将字符串转换为字符数组indexOf()返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1put()返回值:当存在这个key的时候,会覆盖掉原来的value并返回oldvalue,也就是旧值 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); char[] a = bf.readLine().toCharArray(); char[] b = bf.readLine().toCharArray(); char[] c = bf.readLine().toCharArray(); char[] d = bf.readLine().toCharArray(); StringBuilder sb = new StringBuilder("");//存放结果的变量 String hour = "0123456789ABCDEFGHIJKLMN";//小时的字符 int count = 0;//计数 for (int i = 0; i < (a.length < b.length ? a.length : b.length); i++) { if (count == 0) {//第一个 if (a[i] >= 'A' && a[i] <= 'G' && a[i] == b[i]) {//符合A到G并且相等 sb.append(a[i] + " "); count++; } } else if (count == 1) {//第二个 if (hour.indexOf(a[i]) != -1 && a[i] == b[i]) {//符合有效字符并且相等 sb.append(a[i] + " "); break; } } } for (int i = 0; i < (c.length < d.length ? c.length : d.length); i++) {//循环两个字符串,循环次数为较小的数组长度 if (((c[i] > 64 && c[i] < 91) || (c[i] > 96 && c[i] < 123)) && c[i] == d[i]) {//是字母并且相等 sb.append(i); break; } } Map<String, String> week = new HashMap<String, String>();//存放周的map week.put("A", "MON "); week.put("B", "TUE "); week.put("C", "WED "); week.put("D", "THU "); week.put("E", "FRI "); week.put("F", "SAT "); week.put("G", "SUN "); String[] buf = sb.toString().split(" "); System.out.println(week.get(buf[0])//根据答案输出周几 + String.format("%02d", hour.indexOf(buf[1])) + ":"//格式化输出时间 + String.format("%02d", Integer.parseInt(buf[2]))); } }