名前と金額のリストを調べようとしています。
1 つの配列にはその人の名前があり、もう 1 つの配列にはその人が与えた金額があります。つまり、john, 55 sally 40 john 33 sarah 55 です。
私の目的は、同類の名前を合計し、その人の名前と与えられた合計金額を出力することです。
John は 2 回与えたので、合計は 88 になるはずです。したがって、john 88 は 2 回出力しています...最初の for ループに入れて、配列全体の長さを繰り返しているため、その可能性が高いことがわかります。
しかし、これを解決する方法がわかりませんか?
import java.util.*;
public class chapterfive {
public static void main (String[]args) {
Scanner in = new Scanner (System.in);
String[]names = new String[4];
int[] scores = new int[4];
for (int i = 0; i<names.length; i++) {
names[i] = in.next();
scores[i] = in.nextInt();
}
int amount = 0;
String firstname = "";
for (int i = 0; i < names.length; i++) {
for (int j=0; j < names.length; j++) {
if (names[j].equals(names[i]))
amount += scores[j];
}
System.out.println(names[i] + " " + amount);
amount = 0;
}
}
}