Java 程式設計()  第 二章 一維陣列  上一頁    下一頁

 

2-2 一維陣列運用

 內容:

  • 2-2-1 範例研討:印出股票歷史價

  • 2-2-2 範例研討:印出平均股價

  • 2-2-3 自我挑戰:印出最高與最低股價

2-2-1 範例研討:印出股票歷史價

A)程式功能:Ex2_1.java

吾人利用陣列 course[] = {78.8, 72.3, 61, 56, 87, 66.3, 74.5, 88, 76, 58}; 儲存某一支股票最近 10 個交易日的收盤價,請列印出其內容;期望操作介面如下:

B)製作技巧研討:

陣列中每一個元素都是獨立變數,必須利用指標變數一個接一個取出再列印。本範例 course[] 包含了 10= course.length)個元素,則利用指標 i = 0, 1, …, 9,分別索引每一元素 course[i] 的內容。譬如,當 count =0,則 course[0] = 78.8count=1,則course[1] = 72.3,依此類推。因此,吾人可利用 for 迴圈,條件初始值為 i = 0、判斷條件 count < course.length、增減量為 i++

C)程式範例

01

02

03

04

05

06

07

08

09

10

11

12

13

14

//Ex2_1.java

 

public class Ex2_1 {

     public static void main(String args[]) {

          double course[]={78.8, 72.3, 61, 56, 87,

                        66.3, 74.5, 88, 76, 58};

 

          /* course[0]~ course[course.length-1] 列印陣列 */

          for(int i=0; i<course.length; i++)

              System.out.printf("%.2f  ", course[i]);

          System.out.printf("\n");           // 列印完畢, 換行

     }

}

  • 程式重點分析:

(1) 5~6 double course[] = { …}。宣告 course 陣列變數為 double 資料型態,也立即給予初值。

(2) 9~10 for( ..; i<course.length; ..) System.out.printf("%.2f  ", course[i];。其中 length 變數表示元素的個數( 10),但陣列元素是由 0 開始計算,因此最後一個元素是 length -1。另外,列印格式是 "%.2f  ",其表示印出有 2 位小數點的浮點格式(%.2f),後面再接兩個空白格。

2-2-2 範例研討:印出平均股價

A)程式功能:Ex2_2.java

請修改 Ex2_1.java 程式,使其功能不但輸出最近 10 個交易日的收盤價,並計算出他的平均價如何。【利用陣列 course[] = {78.8, 72.3, 61, 56, 87, 66.3, 74.5, 88, 76, 58}; 儲存某一支股票最近 10 個交易日的收盤價】,期望操作介面如下:

78.80  72.30  61.00  56.00  87.00  66.30  74.50  88.00  76.00  58.00 

最近 10 天的平均價 = 71.79

B)程式範例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

//Ex2_2.java

/* 吾人利用陣列 course[]={78.8,72.3,61,56,87,66.3,74.5,88.76.58}

* 儲存某一支股票最近10個交易日的收盤價,請計算它的平均價 */

 

public class Ex2_2 {

   public static void main(String args[]) {

        double course[]={78.8, 72.3, 61, 56, 87,

                         66.3, 74.5, 88, 76, 58};

        double sum=0, ave;

        for(int i=0; i<course.length; i++) {

        System.out.printf("%.2f  ", course[i]);

        sum = sum + course[i];

        }

        System.out.printf("\n");

        ave = sum /course.length;

        System.out.printf("最近 10 天的平均價 = %.2f", ave);

   }

}

2-2-3 自我挑戰:印出最高與最低股價

A)程式功能:PM2_1.java

請修改 Ex2_1.java 程式,使其功能不但輸出最近 10 個交易日的收盤價,並比較輸出其中最高與最低價格如何。【利用陣列 course[] = {78.8, 72.3, 61, 56, 87, 66.3, 74.5, 88, 76, 58}; 儲存某一支股票最近 10 個交易日的收盤價】,期望操作介面如下:

78.80  72.30  61.00  56.00  87.00  66.30  74.50  88.00  76.00  58.00 

最近 10 天的最高價格 = 88.00

最近 10 天的最低價格 = 56.00

B)程式設計技巧:(程式片段)

1

2

3

4

5

6

7

8

9

public class PM2_1 {

   public static void main(String args[]) {

// 這是程式片段

        double Max=0.0, Min=9999.9;

        for(int i=0; i<course.length; i++) {

        System.out.printf("%.2f  ", course[i]);

        if (Max < course[i])

                 Max = course[i];

        if (Min > course[i])

                 Min = course[i];

        }

……// 這是程式片段

   }

}

翻轉工作室:粘添壽

 

Java 程式設計(二) 含物件導向

 

 

翻轉電子書系列: