2016-03-18 17 views
0

私はどこでも検索しましたが、何も見つかりませんでした。私たちには学生クラスがあり、このクラスには名前とグレードの2つの変数があります。作成したオブジェクトの名前を配列(配列はarraylistではありません)。どうすればいいですか?Javaがオブジェクトの配列を配列に挿入する

public class Student { 

     String name; 
     int grade; 
    public Student(String name, int grade) { 
     this.name=name; 
     this.grade=grade; 
    } 
    public String toString() 
    { 
     return "name:"+this.name+"grade:"+this.grade; 
    } 
} 

public class Demo { 
    public static void main(String[]args) 
    { 
      Student s1=new Student("Jason",73); 
      Student s2=new Student("Ricky",64); 
      Student s3=new Student("Mark",53); 
    } 
}  
+0

インデントはどうなっていますか? – khelwood

+0

私はh philが学生を繰り返し、年齢を配列に格納したいと考えています。 Steps:String型の新しい配列を作成します。生徒をタイプの学生の配列に格納します。その後、forループを使用して生徒を反復処理します。次に、生徒の名前をString配列に格納します。これは非常に基本的なもので、各ステップをグーグルで実行すると、自分で各ステップを進める方法を理解するのに役立ちます...ゲッターとセッターについても読む:) – Goot

+1

"どこでも検索しました"しかし、どうやってあなたを信じることができるの? – Raedwald

答えて

4

アトリビュートの値をゲッターで返すことは、常に良い習慣です。 Studentクラスにゲッターメソッドを作成し、それにアクセスして名前を取得する

public class Student { 
    private String name; 
    private int grade; 

    public String getName() { 
     return name; 
    } 

    public Student(String name, int grade) { 
     this.name = name; 
     this.grade = grade; 
    } 

    public String toString() { 
     return "name:" + this.name + "grade:" + this.grade; 
    } 
} 

public static void main(String[]args) { 
    Student s1 = new Student("Jason", 73); 
    Student s2 = new Student("Ricky", 64); 
    Student s3 = new Student("Mark", 53); 
    String[] names = {s1.getName(), s2.getName(), s3.getName()}; 
} 
+3

'新しいString []'は不要です – Ramanlfc

0

あなたはStringの配列を宣言し、このようにその値を設定することができます。

public class Demo { 
    public static void main(String[]args) 
    { 
      Student s1=new Student("Jason",73); 
      Student s2=new Student("Ricky",64); 
      Student s3=new Student("Mark",53); 

      String[] studentNamesArray = {s1.name, s2.name, s3.name}; 
    } 
}  

あなたがゲッターを通じてそれを行う必要がありません場合は、あなたのnameプロパティがづけしていることを確認してください:

public string getName() { return this.name }

Studentクラスです。

0

次は何について:あなたの名前の属性がアクセス可能であることを

String[] arrayNames = {s1.name, s2.name, s3.name} 

してくださいダブルチェック。通常、getter(public String getName(){return this.name})を実行するか、publicとして宣言します。一般的なデフォルトのアクセス修飾子/アクセス修飾子はhttps://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.htmlです。

関連する問題