2016-11-08 56 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