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); } }