分析:
由上述描述可知,可能出现的字符只能是ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,因此
事先定义一个String symbol保存这些字符,number及为对应规则,例如:ABC在上图中对应为2,则在symbol中ABC对应的下标,在number中刚好都是2(symbol中ABC对应的下标为0,1,2.而number中0,1,2下标对应的内容都是2)
然后先将“-”替换为“”(这个应该是null的意思),然后在输入的字符串result中寻找对应在symbol的下标,在拿着这个下标找对应的number,最后将其按照题目要求的格式拼接起来,在将每次拼接起来的字符串存到ArrayList里(此处注意题目要求,“去重”),在判断集合里是否已经有此元素了,若有就不再添加。在用Collections接口自带的排序方法排序后,迭代输出即可
以下是代码
import java.util.*;
public class Main{
public static void main(String[] args){
String symbol="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
String number="222333444555666777788899991234567890";
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
int n=scanner.nextInt();
ArrayList<String> arrayList=new ArrayList<String>();
for(int i=0;i<n;i++){
String str=scanner.next();
str=str.replace("-","");
String result="";
for(int j=0;j<7;j++