TQC+ 物件導向程式語言 Java 6 507 停車費用計算
第5類:陣列設計能力

TQC+ 物件導向程式語言 Java 6 507 停車費用計算

來自的免費背景照片 zh.pngtree.com

題目說明:

請開啟檔案 JPD05.java,依下列題意完成作答。將 JPD05.java 內的 class JPD05 修改為 class JPA05,檔案另存成 JPA05.java,並編譯為 JPA05.class。

設計說明:

(1) 請用陣列方式寫出停車費用計算的程式。

(2) 假設停車時段分為:
a. 2 小時以內 (含 2 小時),每小時以 30 元計算。
b. 2 小時以上不足 4 小時,每小時以 50 元計算。
c. 4 小時以上不足 6 小時,每小時以 80 元計算。
d. 6 小時以上,每小時以 100 元計算。

(3) 請輸入停車時數並計算出停車費用,分別計算 2 小時、3 小時、5 小時及 8 小時的應繳費用,顯示如執行結果參考畫面。

執行結果參考畫面:



JPD05.java 檔案下載

程式碼:

public class JPA05 {
    public static void main(String[] argv) {
        int hours = 0;   //停車時數

        hours = 2;
        park(hours);
        System.out.println("--------------------");
        
        hours = 3;
        park(hours);
        System.out.println("--------------------");
        
        hours = 5;
        park(hours);
        System.out.println("--------------------");
        
        hours = 8;
        park(hours);
    }
    
    public static void park(int hours) {
        int[] hourTable = {0, 2, 4, 6};   // 時段
        int[] feeTable = {30, 50, 80, 100};   // 時段費率
        int fee = 0;   //停車費用
        
        System.out.println("停車時數:" + hours + "小時");
        
        // 課本的寫法
        /*int i = hourTable.length - 1;
        
        while(i > 0) {
        	if(hourTable[i] < hours)
        		break;
        	i--;
        }
        
        while(i >= 0) {
        	fee += (hours - hourTable[i]) * feeTable[i];
        	hours = hourTable[i];
        	i--;
        }*/
        
        // 把以上程式碼縮得更短一些
        for(int i = hourTable.length - 1;i >= 0;i--) {
        	if(hourTable[i] < hours) {
        		fee += (hours - hourTable[i]) * feeTable[i];
        		hours = hourTable[i];
        	}
        }

        System.out.println("應繳費用:" + fee + "元整");
    }
}

JPA05.java 檔案下載



TQC+ 物件導向程式語言 Java 6 第五類:陣列設計能力




如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

發表迴響