<演習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(); // すべての合計人数を表示
  }
}