| <演習1>の解答例 |
| class DNumbers { double [] val; // データ int num; // 要素数 public DNumbers(){ // 99.9を10個代入する num = 10; val = new double [num]; for(int i=0;i<num;i++) val[i] = 99.9; } public void showData(){ for(int i=0;i<num;i++){ System.out.printf("%5.1f",val[i]); } System.out.println(); } } class Ensyu1001 { public static void main(String[] args) { DNumbers d1 = new DNumbers(); d1.showData(); } } |
| <演習2>の解答例 |
| class DNumbers { double [] val; // データ int num; // 要素数 public DNumbers(double v){ // vを10個代入する(演習2) num = 10; val = new double [num]; for(int i=0;i<num;i++) val[i] = v; } public DNumbers(){ // 99.9を10個代入する num = 10; val = new double [num]; for(int i=0;i<num;i++) val[i] = 99.9; } public void showData(){ for(int i=0;i<num;i++){ System.out.printf("%5.1f",val[i]); } System.out.println(); } } class Ensyu1002 { public static void main(String[] args) { DNumbers d1 = new DNumbers(); DNumbers d2 = new DNumbers(35.6); d1.showData(); d2.showData(); } } |
| <演習3>の解答例 |
| class DNumbers { double [] val; // データ int num; // 要素数 public DNumbers(double v, int n){ // vをn個代入する(演習3) num = n; val = new double [num]; for(int i=0;i<num;i++) val[i] = v; } public DNumbers(double v){ // vを10個代入する(演習2) num = 10; val = new double [num]; for(int i=0;i<num;i++) val[i] = v; } public DNumbers(){ // 99.9を10個代入する num = 10; val = new double [num]; for(int i=0;i<num;i++) val[i] = 99.9; } public void showData(){ for(int i=0;i<num;i++){ System.out.printf("%5.1f",val[i]); } System.out.println(); } } class Ensyu1003 { public static void main(String[] args) { DNumbers d1 = new DNumbers(); DNumbers d2 = new DNumbers(35.6); DNumbers d3 = new DNumbers(72.1, 6); d1.showData(); d2.showData(); d3.showData(); } } |
| <演習4>の解答例 |
| class DNumbers { double [] val; // データ int num; // 要素数 public DNumbers(double v, int n){ // vをn個代入する(演習3) num = n; val = new double [num]; for(int i=0;i<num;i++) val[i] = v; } public DNumbers(double v){ // vを10個代入する(演習2) this( v, 10 ); } public DNumbers(){ // 99.9を10個代入する this( 99.9, 10 ); } public void showData(){ for(int i=0;i<num;i++){ System.out.printf("%5.1f",val[i]); } System.out.println(); } } class Ensyu1004 { public static void main(String[] args) { DNumbers d1 = new DNumbers(); DNumbers d2 = new DNumbers(35.6); DNumbers d3 = new DNumbers(72.1, 6); d1.showData(); d2.showData(); d3.showData(); } } |
| <演習5>の解答例 |
| class DNumbers2 { double [] val; // データ int num; // 要素数 public DNumbers2(double [] v){ // 配列を引数で受け取る num = v.length; // 配列vの要素数 val = new double [num]; // 要素領域の確保 for(int i=0;i<num;i++) val[i] = v[i]; } public void showData(){ for(int i=0;i<num;i++){ System.out.printf("%5.1f",val[i]); } System.out.println(); } } class Ensyu1005 { public static void main(String[] args) { double [] data = {10.0, 20.8, 30.3, 40.5}; DNumbers2 d = new DNumbers2(data); d.showData(); } } |
| <演習6>の解答例 |
| class Sports { int person; // チームの人数(人) double time; // 試合時間(分) static int p_sum = 0; // 全てのインスタンスのチーム合計人数 public Sports(int p, double t){ // 人数、時間を指定 person = p; time = t; p_sum += p; // クラス変数に加算 } public Sports(int p){ // 人数のみ指定 this( p, 0.0 ); // 他のコンストラクタを呼び出す } public Sports(){ // 指定なし this( 1, 0.0 ); // 他のコンストラクタを呼び出す } public void showData(){ System.out.println(" 人数 = "+ person + ", 時間 = " + time ); } static public void showGoukei(){ // クラスメソッド System.out.println(" 合計人数 = " + p_sum ); } } class Ensyu1006 { public static void main(String[] args) { Sports soccor = new Sports( 11, 90.0 ); // サッカー Sports rugby = new Sports( 15, 80.0 ); // ラグビー Sports baseball = new Sports( 9 ); // 野球 Sports tennis = new Sports(); // テニス soccor.showData(); rugby.showData(); baseball.showData(); tennis.showData(); Sports.showGoukei(); // すべての合計人数を表示 } } |