改寫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();
}
}
留言列表