我遇到了从数组中提取特定项目并显示它们的问题,如果它们是符合特定条件的项目。
在某些上下文中,我有一个名为Person的数组,它使用excel文件填充。数组中的每个项都有多个属性,例如firstName,lastName和favoriteColor。我需要能够在控制台上打印出所有拥有最喜欢的绿色的人。
到目前为止,我已经拥有了它,它将显示每个人,但我正在努力将其剪切下来,只是向人们展示绿色作为他们最喜欢的颜色。我认为导致问题的区域看起来像这样。
for (final Person person : people) {
//System.out.println(person);
for (favoriteColor == "Green");
System.out.println(person);
}
我理解我的favoriteColor ==“Green”行有问题。我不习惯Java,所以这让我很困惑。你们中有谁对此有任何见解吗?
由于
答案 0 :(得分:1)
你需要在for循环中运行if条件来过滤掉你的数据。你应该做点什么:
for (Person person : people) {
if(person.getFavoriteColor().equalsIgnoreCase("Green")){
System.out.println(person.getFirstName());
}
}
如果条件允许,您可以添加多个。
答案 1 :(得分:-1)
我不确定这是你想要的。
当存在如下数据结构时
String [][] personArray = {
{"Sam", "Horden", "Green"},
{"Sam2", "Horden2", "Red"},
{"Sam3", "Horden3", "Brown"},
{"Sam4", "Horden4", "Blue"},
{"Sam5", "Horden5", "Green"},
{"Sam6", "Horden6", "Green"},
};
你可以像下面这样使用for循环
for(String [] person : personArray){
for(String color : person) {
if(color == "Green")
System.out.println(person[0]);
}
} //out put will be sam, sam5, sam6