1

私は宿題のための非常に単純なプログラムを持っています.ArrayList内に保存する「Payment」(ひどい名前です、私は知っています)と呼ばれるクラスを使用して、年月ごとに請求書をグループ化しようとしています(私は提案を受け付けていますより良いコンテナ)。

ただし、Eclipse から奇妙なエラー メッセージが表示されます (最後に追加します)。

public class Payment {
    private double[] Month;
    private int Year;
    private boolean Paid;

    ....
    // A lot of setters, getters, nothing important
}

配列リストを作成したい

import java.util.ArrayList;

public class Bill {
    ArrayList<Payment> Money = new ArrayList<Payment>();
    Money. // error -> Money didn't get highlighted, intellisense did not provide 
                      // a list of methods

エラーは次のようになります。

Multiple markers at this line:
    Syntax error, insert "enum Identifier" to complete EnumHeaderName
    Syntax error on token "Money", delete this token
    Syntax error on token "Money", delete this token
    Syntax error, insert "EnumBody" to complete EnumDeclaration

なぜこれが起こるのか、私にはまったくわかりません。私はこれをテストするために私のメインファイルに行きました。それは、ここではなく、「Bill」クラス内で機能します。これは現在基本的に空です。

4

2 に答える 2

3

ArrayList参照で何らかのメソッドを呼び出そうとしているようですMoney

クラス内にそのようなステートメントを直接含めることはできないことに注意してください。methodあなたはそれを置くことができるいくつかを持っている必要があります。

次に例を示します。-

public int getListSize() {
    return Money.size();
}

すべてのメソッドの外に置くMoney.size()と、コンパイラエラーになります。:-

public class Demo {
    Money.size();  // Compiler Error

    public void getSize() {
        Money.size();   // Ok. Well, I have just added it plain to show it works
                        // Ideally you would return it, or print it.
    }
}

ただし、RHSを呼び出して、戻り値をintに割り当てることができます。

public class Demo {
    int size = Money.size();  // Now this is fine
}
于 2012-12-18T12:43:48.740 に答える
1

Moneyクラスの本体内のArrayListからメソッドを呼び出したいようですBill。メソッド呼び出しをコンストラクターまたはメソッドに入れます。

そしてところで、Javaの命名規則に従おうとします。変数名は「lowerCamelCase」である必要があります。

于 2012-12-18T12:43:45.943 に答える