2016-11-12 42 views
0

我以下面的格式從我的java程序中獲取輸出。在單行中打印arraylist中的每個數組項目

[種族,護理,英畝] [動作,貓]

預期:在不同的行中的每個數組元素。

比賽保健英畝
行爲貓

我已經試圖打印,但得到。

比賽保健英畝行爲貓

有沒有任何辦法可以繞過這樣我就可以得到預期的結果。以下是我的代碼的要點。謝謝

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

回答

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"); 
} 
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(""); 
      } 
相關問題