我陷入了这个UVA问题。我已经用uDebug输出测试了我的输出。它向我展示了呜呼!您的输出与接受的输出相同!对于所有三个测试用例。但是我仍然出现演示错误。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Anagrams {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCase = Integer.parseInt(br.readLine());
br.readLine();
for(int i=1; i<=testCase; i++) {
ArrayList<String> list = new ArrayList<>();
ArrayList<String> lowerCaseList = new ArrayList<>();
String line;
while ( (line=br.readLine()) != null && !line.equals("") ){
list.add(line.trim());
lowerCaseList.add(sort(replaceSpace(line)));
}
int size = list.size();
ArrayList<String> outputList = new ArrayList<>();
for(int listSize=0; listSize<size; listSize++) {
String originalWord = list.get(listSize);
String sortedString = sort(replaceSpace(originalWord));
for(int j=listSize+1; j<size; j++) {
String wordToCompare = lowerCaseList.get(j);
if(wordToCompare.equals(sortedString)){
String currentWord = list.get(j);
String phrase;
if(originalWord.compareTo(currentWord) > 0) {
phrase = currentWord+" = "+originalWord;
} else if (originalWord.compareTo(currentWord) < 0) {
phrase = originalWord+" = "+currentWord;
} else {
phrase = originalWord+" = "+currentWord;
}
outputList.add(phrase);
}
}
}
Collections.sort(outputList);
int outputListSize = outputList.size();
for(int x=0; x<outputListSize; x++) {
System.out.print(outputList.get(x)+"\n");
}
if(i!=testCase) {
System.out.println();
}
}
}
private static String replaceSpace(String line) {
return line.replaceAll("\\s+","");
}
private static String sort(String word) {
char tempArray[] = word.toCharArray();
Arrays.sort(tempArray);
return new String(tempArray);
}
}