# Java第11週[JPA501~502 第五類題組-陣列(宣告+for、浮點宣告+for、二維陣列+雙重for迴圈)]
#### 複習用
## 開始解題(JPA501~502):
#### 陣列:
為了程式處理方便,把具有 **相同類型**的若干**變數**
**按有序的形式** 組織起來

##### 宣告
```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迴圈計算]:

解答:
```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迴圈計算]:


解答:
```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迴圈]:

### 題目:
#### 五個學生,三個科目
1. 分別輸入並列出各學生各科成績
2. 計算出各學生成績平均(第四行)
3. 計算出各科成績平均(第六列)

解答:
```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課堂學習` `複習用` `高科大`