1

OK、少し難問があります。私は宿題をしているとすぐに言いますが、つまずきました。明らかな何かが欠けていることは確かですが、インターネットや教科書を何時間も検索してこれに対する答えを見つけようとした後、私は壁にぶつかり、誰かが私を指さしてくれることを望んでいます。正しい方向。

従業員オブジェクトを定義する「employee」というクラスを作成しました。このクラスには、従業員の名前と売上合計のgetterメソッドとsetterメソッドがあります。次のようになります。

public class employee {
    private String employeeName;
    private double yearSales;

    public employee(String employeeName, double yearSales)
    {
        this.employeeName = employeeName;
        this.yearSales = yearSales;
    }

    public void setName(String employeeName)
    {
        this.employeeName=employeeName;
    }

    public void setSales(double yearSales)
    {
        this.yearSales=yearSales;
    }

    public String getEmployee()
    {
        return employeeName;
    }

    public double getYearsSales()
    {
        return yearSales;
    } 
}

次に、従業員オブジェクトを含むArrayListをインスタンス化することを目的としたメソッドがあります。以下に示すように、ArrayListを作成し、それに情報を追加することができます。

public ArrayList employeeArray(String name, double sales)
{

    //Instantiate a new ArrayList object
    ArrayList employeeList = new ArrayList();

    //Initialize the values in the ArrayList
    employeeList.add(new employee(name, sales));

    return employeeList;

}

私が問題にぶつかっているのはArrayList、以下に示すように、から名前の値を出力しようとしていることです。

System.out.println(employeeList.get(0).getEmployee());

要素を1つだけ追加しているので、インデックス値は正しいはずです。少し前に別のJavaコースでArrayListsを操作し、それらの割り当てのコードでこれと同様のことを行うことができました。これについてもっと明確にする必要がある場合は、喜んでお知らせします。もちろん、これに関する支援は大歓迎です。

4

3 に答える 3

4

Java SE> = 5の場合は、Genericsを使用する必要があるため、の代わりにArrayListを使用してArrayList<employee>ください。Objectそれ以外の場合は、その型をからにキャストする必要がありますEmployee

System.out.println(((employee)employeeList.get(0)).getEmployee());

また、Javaのクラス名とインターフェース名は、大文字で始める必要があります。

于 2012-08-24T02:33:55.267 に答える
3
public ArrayList<employee> employeeArray(String name, double sales)
{

    //Instantiate a new ArrayList object
    ArrayList<employee> employeeList = new ArrayList<employee>();

    //Initialize the values in the ArrayList
    employeeList.add(new employee(name, sales));

    return employeeList;

}
于 2012-08-24T02:34:39.360 に答える
0

ArrayListメソッドを呼び出すたびに、新しいインスタンスを作成しようとしていますemployeeArray()。共通ArrayListを維持し、この方法を使用してそれに要素を追加してみてください。

また、ジェネリックスを使用して+1し
ます。Javaを初めて使用する場合は、次のリンクも読んでください:「Javaプログラミングスタイルガイド(命名規則)」

EmployeeListこのメソッドを定義した場所で呼び出されたクラスがあると仮定するとemployeeArray()、次のようにリストに新しい名前を維持するように更新できます(これは1つのサンプルソリューションであることに注意してください。必要に応じて調整することを歓迎します)。

public class EmployeeList{
    private ArrayList<Employee> employeeList;

    public EmployeeList(){
        //Initializing the employee arraylist
        employeeList = new ArrayList<Employee>();
    }

    public ArrayList<Employee> employeeArray(String name, double sales){
        //Initialize the values in the ArrayList
        employeeList.add(new Employee(name, sales));

        return employeeList;
    }
}

上記のコードでのジェネリックスの使用と命名規則にも注意してください。これはあなたに役立つかもしれません。

于 2012-08-24T02:38:40.940 に答える