私は使用Java
しBlueJ
ていますが、かなり慣れていません。私が Java であまり得意ではないことが 1 つあるとすれば、それは配列です。2 次元配列は言うまでもありません。うまくいけば、誰かがこのプログラムで私を助けてくれることを願っています.
このプログラムの目的は、2 次元を使用して、.TXT ファイルから政治世論調査の結果を集計することです。入力ファイル「PROG4IN.TXT」には、ポーリングされた投票者ごとに 1 行が含まれます。各行には、支持された候補者の名前と有権者の年齢が含まれています。2 行 3 列の配列を使用して、有権者を支持する候補者と年齢層別に集計する必要があります。3 つの年齢層は 18 ~ 29 歳、30 ~ 49 歳、50 ~ 99 歳です。
これは、目的の最終出力が次のようになるはずです。
Candidate 18-29 30-49 50-99 Total
Krook 2 4 6 12
Leyer 3 3 2 8
参考までに、これは「PROG4IN.TXT」ファイルの内容です。
Krook 45
Leyer 40
Krook 76
Leyer 55
Krook 20
Krook 50
Leyer 28
Krook 30
Leyer 23
Krook 72
Krook 42
Krook 81
Leyer 64
Krook 52
Leyer 18
Leyer 34
Krook 60
Krook 26
Leyer 49
Krook 37
このテンプレートを使用する必要があります:
public class Table {
private int[][] table;
private String[] names;
public Table() {
// Create the two-dimensional tally array "table"
// having 2 rows and 3 columns. Row 0 corresponds
// to candidate Krook and row 1 to candidate Leyer.
// The columns correspond to the three age groups
// 18-29, 30-49, and 50-99. Initialize all the
// tallies to zero. Create the array "names" to
// hold the candidate names: names[0]="Krook" and
// names[1]="Leyer".
}
public void tally(String name, int age) {
// Add one to the tally in the "table" array that
// corresponds to the name and age passed as arguments.
// Hint: Use the equals method to determine whether
// two strings are equal: name.equals("Krook") is
// true when name is "Krook".
}
public void report() {
// Use nested loops to print a report in the format
// shown above. Assume that the tallies have already
// been made.
}
}
ただし、この後は、Table オブジェクトを作成し、PROG4IN.TXT からデータを集計し、レポートを出力するメイン クラスを作成する必要があります。
誰かがこれで私を助けてくれることを願っています。
前もって感謝します。