2016-01-07 86 views
-3

我有兩個維度的用戶名和姓氏數組,並且能夠打印姓名和姓氏,但我想在下面做並尋求幫助。Java多維數組

1)用繩子和輸出姓名匹配的名字都

試過如果循環,但沒有無法打印姓氏。

如果字符串名稱爲ABC,它應該與數組匹配,然後打印Name和Surname的值。

String[][] names = {{"ABC","DEF"},{"GHI","JKL"}}; 

     String name = "ABC"; 

     for (int i = 0; i < names.length; i++) { 


      System.out.print(names[i][0] + ": "); 

      for (int j = 1; j < names[i].length; j++) { 

       System.out.print(names[i][j] + " "); 

      } 

      System.out.println(); 

      } 
+0

沒有在上面這個代碼'if'條件。 – YoungHobbit

+2

我不明白這個問題,你能否請[澄清]澄清?你遇到的問題是什麼? 'ABC:DEF \ nGHI:JKL'是我運行這個時獲得的輸出。 –

+0

「*匹配名稱與字符串和輸出名稱和姓氏都*」什麼? – user1803551

回答

0

試試這個:

for (String[] fullName : names) { 
    if (fullName[0].equals(name)) { 
     for (String s : fullName) { 
      System.out.print(s + " "); 
     } 
     System.out.println(); 
    } 
} 

如果你不知道這些for循環:他們遍歷每個元素順序,也就是說,不需要你使用索引來訪問元素。這些是相同的:

for (int i = 0; i < array.length; i++) { 
    String element = array[i]; 
} 

for (String element : array) { 

} 

另一種可能性是使用HashMap

String name = "ABC"; 

HashMap<String, String> fullNames = new HashMap<>(); 
fullNames.put("ABC", "DEF"); 
fullNames.put("GHI", "JKL"); 

if (fullNames.contains(name)) { 
    System.out.println(name + " " + fullNames.get(name)); 
} 
+1

這是如何回答OP詢問的問題的。 – YoungHobbit

+0

如果沒有,你能把它翻譯成適當的英文嗎?可能誤解了它...... – pietv8x

+0

'匹配名稱與字符串和輸出名稱和姓名都',他問有關匹配輸入和數組,然後打印名稱。但並不完全清楚。 – YoungHobbit