PAT1014 福尔摩斯的约会

我代码是0分哦,此处应有高亮。

限制条件很多,还有就是理解题意。

我一开始理解的是第一/三字符串的字母和第二/四字符串的第任意个比较,这样需要两个for循环,事实上一个循环就够了。

思路问题解决了,还是0分我emmmm开始认命

package ex1;

import java.math.BigDecimal;
import java.util.Scanner;


public class Main{
    
   public static void main(String[]args) {
      Scanner in=new Scanner(System.in);
      int flag=0,r=0;
      char o = 'A',t='a';
      String []h=new String[4];
      for(int i=0;i<4;i++) {
          h[i]=in.next();
      }
      
      char []a=h[0].toString().toCharArray();
      char []b=h[1].toString().toCharArray();
      char []c=h[2].toString().toCharArray();
      char []d=h[3].toString().toCharArray();
      
      for(int i=0;i<a.length;i++) {
          if(flag==0&&a[i]>='A'&&a[i]<='G'&&b[i]==a[i]) {
              flag=1;
              o=a[i];
              continue;
          }
          if(flag==1) {
              if((a[i]>='A'&&a[i]<='N')||(a[i]>='0'&&a[i]<='9')&&b[i]==a[i]) {
                  t=a[i];
              }
          }
      }
      for(int i=0;i<c.length;i++) {
          
          if(((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z'))&&d[i]==c[i]) {
             
              r=    i;
            
              break;
          }
      }
      
    switch (o) {
    case 'A':
        System.out.print("MON");
        break;
    case 'B':
        System.out.print("TUE");
        break;
    case 'C':
        System.out.print("WED");
        break;
    case 'D':
        System.out.print("THU");    
        break;
    case 'E':
        System.out.print("FRI");            
        break;
    case 'F':
        System.out.print("SAT");
        break;
    default:
        System.out.print("SUN");
        break;
    }
    if(t>='0'&&t<='9') {
        System.out.printf("% 02d:",t-'0');
    }
    else {
        System.out.printf("% 02d:",t-'A'+10);
    }
    
        System.out.printf("%02d",r);
    
           
   }
}

 

posted @ 2019-03-21 19:03  风间6324  阅读(129)  评论(0编辑  收藏  举报