改寫Nissan類別之方法:
新增加color_count1~5 全為static int;
在Nissan方法中,根據color值將以上各值++的動作 ex.  color=1,color_count1++ ;
在主程式用10筆資料測試
新增print_colorcount( ) 將五個color)count直印出;


/* 程式範例: Ch6_1_4.java */
class Car   // Car類別宣告
{  // 成員資料
   public static int count;   // 車輛數
   private int serial_num;    // 車輛編號
   public int engineNum;      // 引擎號碼
   public int color;          // 色彩
   // 建構子
   public Car(int num, int color, int no)
   {  serial_num = num;
      this.color = color;
      engineNum = no;
      count++;
   }
   // 成員方法: 顯示車輛編號
   public void printCar()
   {  System.out.print("編號:" + serial_num);  }
}
class Nissan extends Car  // Nissan類別宣告
{  // 成員資料
   public static int[] color_count = new int [5];
   private int engineNum;
   private double price;  // 車價
   // 建構子
   public Nissan(int num,int color,int no,double price)
   {  // 呼叫父類別的建構子
      super(num, color, no);
      color_count[color-1]++;
      //this.color = 5;
      engineNum = 4444444;
      this.price = price;
   }
   // 成員方法: 顯示轎車資料
   public void printCar()
   {  // 顯示轎車資料
      System.out.print("====");
      super.printCar();
      System.out.println(" 轎車資料====");
      System.out.println("色彩(父): " + super.color);
      System.out.print("引擎號碼(父): ");
      System.out.println(super.engineNum);
      System.out.println("色彩(子): " + color);
      System.out.println("引擎號碼(子): " + engineNum);
      System.out.println("車價: " + price);
      System.out.println("車輛數: " + count);
   }

   public static void print_color()
   {
    for (int i=0;i<=4;i++)
    {System.out.println("color "+ (i+1) + ":" + color_count[i]);}
   }
}
// 主程式類別
public class Ch6_1_4
{   // 主程式
    public static void main(String[] args)
    {   // 宣告Nissan類別型態的變數, 並且建立物件
        Nissan c1 = new Nissan(1,1,1234567,670000.0);  //呼叫第25行
        Nissan c2 = new Nissan(2,2,5678924,580000.0);
        Nissan c3 = new Nissan(3,3,5570924,580000.0);
        Nissan c4 = new Nissan(4,4,1234588,670000.0);
        Nissan c5 = new Nissan(5,5,5678505,580000.0);
        Nissan c6 = new Nissan(6,2,12340578,670000.0);
        Nissan c7 = new Nissan(7,2,5679000,580000.0);
        Nissan c8 = new Nissan(8,3,1238000,670000.0);
        Nissan c9 = new Nissan(9,4,5676000,580000.0);
        Nissan c10 = new Nissan(10,5,1237000,670000.0);
        Nissan c11= new Nissan(11,1,1234550,580000.0);

        // 呼叫物件的實例方法
        c1.printCar();
        c2.printCar();
        c3.printCar();
        c4.printCar();
        c5.printCar();
        c6.printCar();
        c7.printCar();
        c8.printCar();
        c9.printCar();
        c10.printCar();
        c11.printCar();
        Nissan.print_color();
    }
}


arrow
arrow
    全站熱搜

    Joy 發表在 痞客邦 留言(0) 人氣()