# Java第11週[JPA501~502 第五類題組-陣列(宣告+for、浮點宣告+for、二維陣列+雙重for迴圈)] #### 複習用 ## 開始解題(JPA501~502): #### 陣列: 為了程式處理方便,把具有 **相同類型**的若干**變數** **按有序的形式** 組織起來 ![](https://i.imgur.com/VdNmtw8.png) ##### 宣告 ```java=1 int[] a=new int[10]; //陣列標準寫法 (記憶體空間[長度]為10) int a[]=new int[10]; //不影響 int[] a={0,1,2,3,4,5,6,7,8,9}; //指定初始值寫法 ``` * 在Java中只要看到**new**,一定就是**建立物件**,這個語法代表**陣列就是物件**。 ##### 對應初始值 ```java=1 int[] a={88,59,21}; //指定初始值寫法 a[0]=88; a[1]=59; a[2]=21; ``` [參考文章](https://caterpillar.gitbooks.io/javase6tutorial/content/c5_1.html) ### 第一題(JPA501)-陣列計算[使用陣列宣告+for迴圈計算]: ![](https://i.imgur.com/rRGw0CP.png) 解答: ```java import java.util.Scanner; public class JPA501 { static Scanner keyboard=new Scanner(System.in); public static void main(String args[]) { System.out.println("請輸入10個整數"); int []a=new int [10]; //宣告一個整數陣列a,共有10個元素 for(int n=0;n<10;n++) //一塊處理[輸入值] { //可用a.length System.out.printf("第%d個整數:",n+1); a[n]=keyboard.nextInt(); //存入a[i],i=0~9 } int count=0,sum=0; //指名陣列的每一個元素 for(int n=0;n<10;n++) //另一塊處理[額外計算] { //可用a.length(陣列a的元素個數) if(a[n]>60) { count++; sum+=a[n]; } } System.out.printf("陣列中大於60的有%d個\n",count); System.out.println("總合為"+sum); System.out.println("平均值為"+(double)sum/count); } } ``` --- ### 第二題(JPA502)-浮點數計算[使用浮點陣列宣告+for迴圈計算]: ![](https://i.imgur.com/C2g0PTX.png) ![](https://i.imgur.com/DSuev3L.png) 解答: ```java import java.util.Scanner; public class JPA502 { static Scanner keyboard=new Scanner(System.in); public static void main(String args[]) { System.out.print("請輸入學生人數:"); int n=keyboard.nextInt(); float[] score=new float [n]; for(int i=0;i<n;i++) //一塊處理[輸入值] { //可用score.length System.out.printf("第%d個學生的成績:",i+1); score[i]=keyboard.nextFloat(); } float sum=0; //float sum=0.0f; for(int i=0;i<n;i++) //另一塊處理[額外計算] { //可用score.length sum+=score[i]; } System.out.println("人數:"+n); System.out.printf("總分:%.6f\n",sum); //用println會變成小數兩位 System.out.println("平均:"+sum/n); } } ``` --- ### 第三題(額外題)-分別列出學生各科成績+計算各學生、各科平均值[使用二維陣列+雙重for迴圈]: ![](https://i.imgur.com/yJ715GO.jpg) ### 題目: #### 五個學生,三個科目 1. 分別輸入並列出各學生各科成績 2. 計算出各學生成績平均(第四行) 3. 計算出各科成績平均(第六列) ![](https://i.imgur.com/SOWn2lW.png) 解答: ```java import java.util.Scanner; public class JPA05 { static Scanner keyboard=new Scanner(System.in); public static void main(String args[]) { int[][] score=new int [5][3]; for(int i=0;i<5;i++) { for(int j=0;j<3;j++) { //輸入結果不太相同,請參考第12週 System.out.printf("請輸入第%d個學生\n第%d個科目成績:",i+1,j+1); score[i][j]=keyboard.nextInt(); } } int sum=0,avg=0; for(int i=0;i<5;i++) { sum=0; for(int j=0;j<3;j++) { System.out.print(score[i][j]+" "); sum+=score[i][j]; } System.out.print(sum/3); System.out.print("\n"); } for(int j=0;j<3;j++) { avg=0; for(int i=0;i<5;i++) { avg+=score[i][j]; } System.out.print(avg/5+" "); } } } ``` --- 最後編輯時間:2021/5/12 5:25pm. ###### tags: `JAVA課堂學習` `複習用` `高科大`