前提・実現したいこと
学校の演習で分からないことがあります。下記のソースコードを、引数をもたないコンストラクタから引数をもつコンストラクタを呼び出すプログラムに変更しなさいという(this()を用いて書き換え)課題が出たのですがやり方が分かりません。教えてください。
該当のソースコード
package 演習;
import java.io.*;
class Student{
int id,birth;
String name,gakunen;
void inputStudent(BufferedReader br)throws IOException{
System.out.print("学籍番号: ");
this.id=Integer.parseInt(br.readLine());
System.out.print("氏名: ");
this.name=br.readLine();
System.out.print("学年: ");
this.gakunen=br.readLine();
} void showStudent() { System.out.println("学籍番号: "+this.id+" 学年: "+this.gakunen+" 氏名: "+this.name+"."); }
}
class J0802 {
public static void main(String[] args) throws IOException{ // TODO 自動生成されたメソッド・スタブ int i,num; String str; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); Student[] gakusei; System.out.print("何名の学生を登録しますか? : "); num=Integer.parseInt(br.readLine()); gakusei=new Student[num]; for(i=0;i<gakusei.length;i++) gakusei[i]=new Student(); for(i=0;i<gakusei.length;i++) { System.out.println((i+1)+"人目の情報を入力してください。"); gakusei[i].inputStudent(br); }
System.out.println();
while(true) {
System.out.print("表示する学生の学籍番号は?(終了はx) ");
str=br.readLine();
if(str.equals("x")==true)
System.exit(0);
else {
for(i=0;i<gakusei.length;i++) {
if(gakusei[i].id==Integer.parseInt(str))
gakusei[i].showStudent();
}
}
}
}
}
回答2件
あなたの回答
tips
プレビュー