我从以下格式获取java程序的输出。
[种族,护理,英亩] [行为,猫]
预期:每个数组元素在不同的行中。
种族护理英亩 行动猫
我已经尝试打印了但是得到了。
种族护理英亩行为猫
有没有办法让我得到预期的结果。以下是我的代码的要点。感谢
public static void main(String args[]) {
try {
Scanner sc = readWords();
Map<String, List<String>> wordAnagramPairs = new HashMap<>();
wordAnagramPairs = mapAnagrams(sc);
for (String anagram : wordAnagramPairs.keySet()) {
if (wordAnagramPairs.get(anagram).size() > 1) {
System.out.print(wordAnagramPairs.get(anagram));
// for(String anagrams : wordAnagramPairs.get(anagram)){
// System.out.print(anagrams + " ");
// }
}
}
} catch (FileNotFoundException e) {
System.out.println("File Not Found");
}
}
答案 0 :(得分:1)
如果要在新行上打印每个元素,则需要使用语句println
:
for(String anagrams : wordAnagramPairs.get(anagram)){
System.out.println(anagrams + " ");
}
如果你想在一行上打印出每个数组元素,但是每个数组都在一个单独的行上,你可以这样做:
for (String anagram : wordAnagramPairs.keySet()) {
//You need to make this 0 rather than 1 if you want to print
//out an array with one element
if (wordAnagramPairs.get(anagram).size() > 0) {
for(String anagrams : wordAnagramPairs.get(anagram)){
System.out.print(anagrams + " ");
}
}
//you need to put a print statement outside the second for loop
System.out.println("");
}
答案 1 :(得分:1)
使用\ n新行打印
for (String anagram : wordAnagramPairs.keySet()) {
if (!wordAnagramPairs.get(anagram).isEmpty()) {
for (String word : wordAnagramPairs.get(anagram)) {
System.out.print(word+" ");
}
}
System.out.print("\n");
}
答案 2 :(得分:0)
“\ n”是换行符的标志。那是你在找什么? 或使用println而不是print
如果您需要解释https://docs.oracle.com/javase/tutorial/java/data/characters.html
,请查看此处(转义字符子主题)