0
私は簡単にすべきだと感じている問題がありましたが、なぜ期待される結果が返されないのかわかりません。ネストされたループ内のJava ifステートメントが一致していない、最初のオカレンスをカウントします。
私は、Userという名前のストリングの配列とSalesというオブジェクトのリストを持っています。 Sales内にUserというフィールドがあります。私がしたいのは、配列内の各ユーザーに対して、販売オブジェクトと一致させることです。私は印刷に期待しています何
String[] User = {"John","Bob","Pete"};
//The sales object looks like
{
User: Bob
Dep: Hardware
}
{
User: Bob
Dep: Software
}
...
//The nested loop looks like
for (int i = 0; i < User.length; i++)
{
for (int j = 0; j < Sales.size(); j++)
{
if (User[i] == Sales.get(j).getUser())
{
System.out.println(Sales.get(j).getUser() + Sales.get(j).getDep()
}
}
は次のとおりです。
ボブハードウェア
ボブ・ソフトウェア
しかし、私は見ていますすべては、ボブのハードウェア
は誰もが見ることができる
です論理/アプローチに何が問題なの?
ユーザ[I] .equals(Sales.get(J).getUser()) –
http://stackoverflow.com/questions/1643067/whats-the-difference-between-equals-and –
ネストされたループは問題ではありません。あなたはそれなしで同じ動作をテストすることができます –