-3

応募者と呼ばれる配列と、Person と呼ばれる別のクラスからの 2 つのインスタンスを取得し、年齢が 22 歳から 30 歳までの応募者の名前を出力するメソッドを実装する必要があります。クラス Person には、申請者の名前と年齢を返すメソッド getName() と getAge() があります。つまり、クラス Person は次のように宣言されます。

public class Person{
public String getName(String name) {
return name; 
 }
public int getAge(int age){
return age;
 }
}

これが私の主な方法です:

public class Applicants
{
public static void main(String args[]){
String [] name = new String[8];
name[0] = "Student A";
name[1] = "Student B";
name[2] = "Student C";
name[3] = "Student D";
name[4] = "Student E";
name[5] = "Student F";
name[6] = "Student G";
name[7] = "Student H";

int [] age = new int[8];
age[0] = 21;
age[1] = 28;
age[2] = 16;
age[3] = 23;
age[4] = 22;
age[5] = 28;
age[6] = 22;
age[7] = 21;

}

public static void printSelection(Person applicants[]) {
    for (int i = 0; i < applicants.length; i++)
    if (22 <= applicants[i].getAge() && applicants[i].getAge() <= 30)
    System.out.println(applicants[i].getName()); 
 }

}

私は、applicants という配列を (まだ) 準備していないことを知っています。基本的に、name と age という 2 つの配列を取得して、applicants という 1 つの配列を作成する方法がわかりません。それとも、配列名を申請者に変換するだけですか? これはクラスセッションですので、間違いをお許しください。プロがこの種のことをどのように行うかを学ぶ必要があるだけです。そうすれば、そこから学び、先に進むことができます.

最終出力は、22 歳から 30 歳までの応募者の名前と年齢を出力するために必要です。以下に示すように、getName と getAge は別のクラスから呼び出す必要があります。

4

1 に答える 1

3

まず、2 つの配列は必要ありません。Person 型のオブジェクト インスタンスを簡単に作成できます。

public class Person{
    public String getName(String name) {
        // Why would the user pass a value they want returned right back to them?
        return name; 
    }
    public int getAge(int age){
        // Same here as well. This needs to be addressed!
        return age;
    }
 }

まず、このコードは機能しません。クラスには分野名と分野年齢はありません。それが最初に解決すべき問題です。このクラスのコンストラクターも作成する必要があります。このコンストラクターは、名前と年齢をパラメーターとして受け取り、定義したフィールドにそれらをバインドします。すなわち:

public Person(int age, String name)
{
     this.age = age;
     this.name = name;
}

次のステップは、人物オブジェクトに値を追加してから、その人物オブジェクトをコレクション (配列や配列リストなど) に追加することです。あなたの主な方法では、次のようなものがあるかもしれません..

Person[] applicants = new Person[8];

ここで、Person オブジェクトの新しいインスタンスを、関連するデータとともにこのコレクションに追加する必要があります。

この配列を関数に渡すと、選択した値が出力されます。

于 2013-03-03T21:10:52.887 に答える