import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Test4 {
public static void move(List array2,int num) {
int index=0;
while(index<num) {
array2.add(array2.get(index));
index++;
}
while(num>0) {
array2.remove(0);
num--;
}
}
public static void main(String[] args) throws Throwable{
//1.根據輸入流獲取月份、日期和信息
Scanner sc = new Scanner(System.in);
//如何獲取控制檯多行數據
String line1 = sc.nextLine();
String line2 = sc.nextLine();
//一個或多個空格分割字符串:String的split方法支持正則表達式;正則表達式\s表示匹配任何空白字符,+表示匹配一次或多次。
String[] per=line1.split("\\s+");
int mouth=Integer.valueOf(per[0]);
int date=Integer.valueOf(per[1]);
//2.初始化字母數組
String[] A9 = new String[]{"A","B","C","D","E","F","G","H","I"};
String[] J9 = new String[]{"J","K","L","M","N","O","P","Q","R"};
String[] S9 = new String[]{"S","T","U","V","W","X","Y","Z","*"};
List<String[]> array=new LinkedList();
array.add(A9);
array.add(J9);
array.add(S9);
//3.先根據月份轉移
int data=mouth-1;
while(data>2) {
data=data-3;
}
move(array,data);
//4.根據月份轉移後的三組字母
List<String> l1=new LinkedList();
List<String> l2=new LinkedList();
List<String> l3=new LinkedList();
for(String str:array.get(0)) {
l1.add(str);
}
for(String str:array.get(1)) {
l2.add(str);
}
for(String str:array.get(2)) {
l3.add(str);
}
//5.根據日期轉移
int data2=date-1;
while(data2>8) {
data2=data2-9;
}
move(l1,data2);
move(l2,data2);
move(l3,data2);
//6.找字母
char[] str= line2.toCharArray();
String[] aa=new String[str.length];
for(int i=0;i<str.length;i++) {
aa[i]=String.valueOf(str[i]);
}
String fa="";
for (int i = 0; i < aa.length; i++) {
for (int j = 0; j < 9; j++) {
if( aa[i].equals(l1.get(j)))
fa+="1"+(j+1)+" ";
if(String.valueOf( aa[i]).equals(l2.get(j)))
fa+="2"+(j+1)+" ";
if(String.valueOf( aa[i]).equals(l3.get(j)))
fa+="3"+(j+1)+" ";
}
}
System.out.println(fa);
}
}
筆試二:摩斯密碼傳遞情書
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.