【授業復習】java インスタンスメソッド、static関連の授業課題
https://gyazo.com/508784e96ff77b3205aee00be326187f
code:Student7.java
class Student7{
private static int count = 0;
private int id,math,prog;
private static int mathSum=0,progSum=0;
//合計 初期値も同じで他のインスタンスに対して情報を共有するため「static」を追加
public Student7(int id, int math, int prog){
this.id=id;
this.math=math;
this.prog=prog;
mathSum+=this.math; //mathの値が「+=」という記述によってmathsumに加算されている
progSum+=this.prog; //progの値が「+=」という記述によってprogsumに加算されている
count++; //インスタンスを作成した時に値を1増やす
}
public void setId(int id){ //set〇〇を定義する時には仮引数に値を入れて値を返してあげるのが原則=>「void」を加える
this.id=id;
return;
}
public void setMath(int math){
this.math=math;
return;
}
public void setProg(int prog){
this.prog=prog;
return;
}
public int getId(){
//get〇〇ではset〇〇で設定した値を取得する役割がある。値はすでに取得できているのでvoidはいらない
return this.id;
}
public int getMath(){
return this.math;
}
public int getProg(){
return this.prog;
}
public int getMathAverage(){
return this.mathSum/count; //数学の合計➗生徒全員の数
}
public int getProgAverage(){
return this.progSum/count; //プログラムの合計➗生徒全員の数
}
}
code:StudentManager7.java
public class StudentManager7{
public static void main(String[]args){
Student7 st1;
Student7 st2;
Student7 st3; //st1,2,3で定義
st1=new Student7(101,20,1); //st1の中にnew Student7の値が格納された。
st2=new Student7(102,2,13); //st2の中にnew Student7の値が格納された
st3=new Student7(103,22,12); //st3の中にnew Student7の値が格納された
//newでインスタンス化したらStudent7,javaの「 public Student7(int id, int math, int prog){」に値が反映される
System.out.println("ID="+st1.getId());
System.out.println("Math="+st1.getMath());
System.out.println("prog="+st1.getProg());
System.out.println("平均点(math)="+st1.getProgAverage());
System.out.println("平均点(prog)="+st1.getMathAverage());
System.out.println("ID="+st2.getId());
System.out.println("Math="+st2.getMath());
System.out.println("prog="+st2.getProg());
System.out.println("平均点(math)="+st2.getProgAverage());
System.out.println("平均点(prog)="+st2.getMathAverage());
System.out.println("ID="+st3.getId());
System.out.println("Math="+st3.getMath());
System.out.println("prog="+st3.getProg());
System.out.println("平均点(math)="+st3.getProgAverage());
System.out.println("平均点(prog)="+st3.getMathAverage());
}
}
(参考)
javaの書き方で分からなくなった時に見たリンク
Javaのコンストラクタとインスタンスが混合した時に見たリンク