0

私は使用JavaBlueJていますが、かなり慣れていません。私が 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 からデータを集計し、レポートを出力するメイン クラスを作成する必要があります。

誰かがこれで私を助けてくれることを願っています。

前もって感謝します。

4

1 に答える 1

0

Your array will look like this:

table = new int[2][3]();

and inside it will be like this:

{
{count for 1st age group for krook, for 2nd age group for krook, last group for krook}
{count for 1st age group for leyer, for 2nd age group for leyer, last group for leyer}
}

So when you want to add to the middle age group for leyer, for example, you'd do table[1][1] += some amount.

Or for third age group for krook, youd do table[0][2] += someamount.

于 2013-10-24T15:27:54.940 に答える