2016-11-08 2 views
-1

特定のアイテムを特定の条件を満たすアイテムとして配列から取り出して表示する際に問題があります。特定の基準を満たす配列の特定のアイテムを表示する

いくつかのコンテキストでは、Excelという名前の配列が作成されています。配列の各項目には、firstName、lastName、およびfavoriteColorなどの複数の属性があります。私は好みの色のGreenを持っているすべての人々をコンソールで印刷することができる必要があります。

今のところ、誰もが表示されるようにしていますが、自分の好みの色として緑色の人を表示するように切り詰めています。問題を引き起こしていると私が信じている領域は、このように見えます。

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

私のfavoriteColor == "グリーン"行に何か問題があることを理解しています。私はそれほどJavaに慣れていないので、これはちょっと混乱しています。あなたはこれについて何か洞察を持っていますか?あなたが条件ならば、あなたのデータをフィルタリングするためのforループ内で実行する必要があります

おかげ

+0

何をあなた '(favoriteColor == "グリーン")については、以下のようにforループを使用することができます下のようなデータ構造であり;'行い、理由は、 ? – shmosel

答えて

1

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

if条件を複数追加できます。

+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 
関連する問題