2016-11-08 52 views
-1

我在從數組中拉出特定項目並顯示它們(如果它們是符合特定條件的項目)時遇到問題。顯示符合特定標準的數組中的特定項目

一些上下文,我有一個名爲Person的數組,使用Excel文件填充。數組中的每個項目都有多個屬性,如firstName,lastName和favoriteColor。我需要能夠在控制檯上打印出所有擁有「綠色最喜愛的顏色」的人。

截至目前,我已經知道它會顯示每個人,但我正在努力將其切割爲只顯示Green的人作爲他們最喜歡的顏色。我認爲這個地區造成的問題看起來像這樣。

for (final Person person : people) { 
    //System.out.println(person); 
    for (favoriteColor == "Green"); 
    System.out.println(person); 
} 

我知道我最喜歡的顏色==「綠色」行出了問題。我不太習慣Java,所以這只是讓我困惑。你們有沒有對此有所瞭解?

謝謝

+0

你這是什麼'爲(favoriteColor == 「綠色」)使用循環這樣的數據結構;'不,爲什麼? – shmosel

回答

1

你需要運行,如果條件內循環過濾你的數據。你應該這樣做:

for (Person person : people) { 
     if(person.getFavoriteColor().equalsIgnoreCase("Green")){ 
        System.out.println(person.getFirstName()); 
      } 
     } 

如果條件可以添加多個條件。

+0

打我吧;) – Gulllie

+0

啊謝謝你。那是我做錯了。非常感謝。 – Kyle

-1

我不確定這是你想要的。

當有一個像下面

String [][] personArray = { 
      {"Sam", "Horden", "Green"}, 
      {"Sam2", "Horden2", "Red"}, 
      {"Sam3", "Horden3", "Brown"}, 
      {"Sam4", "Horden4", "Blue"}, 
      {"Sam5", "Horden5", "Green"}, 
      {"Sam6", "Horden6", "Green"}, 
}; 

你可以在下面

for(String [] person : personArray){ 
     for(String color : person) { 
      if(color == "Green") 
       System.out.println(person[0]); 
     } 
} //out put will be sam, sam5, sam6