本帖最後由 鄭繼威 於 2023-12-9 09:26 編輯
1. 題目說明:
請開啟C:\ANS.CSF\JP01資料夾中的JPD01.java進行編寫。依下列題意進行作答:輸入三個正整數並計算平均分數,使輸出值符合題意要求。檔案名稱請另存新檔為JPA01.java,儲存於C:\ANS.CSF\JP01資料夾,再進行評分。
2. 設計說明:
(1) 請撰寫程式,讓使用者輸入三個成績,計算平均分數,0至59分不及格,輸出【failed:x】;60分(含)以上~99分及格,輸出【pass:x】;如為滿分100分輸出【full mark:100】。
(2) 若輸入值為負數、帶有小數點的數字資料或非數字資料,請轉換為0;若輸入大於100,請轉換為100後再計算。
* 提示:平均分數的計算方式為無條件捨去,例如60, 62, 63的平均分數為61。
3. 輸入輸出:
輸入說明
三個數值
輸出說明
判斷是否及格,並輸出平均分數(輸出最後一行後不自動換行)
範例輸入1
35
40
75
範例輸出1
failed:50
範例輸入2
100
100
120
範例輸出2
full mark:100
java17-107.docx
本帖隱藏的內容需要回復才可以瀏覽
//註解- import java.util.Scanner;
- public class Ch02 {
- public static void main(String[] args) {
- // TODO 自動產生的方法 Stub
- Scanner s=new Scanner(System.in);
-
- System.out.print("請輸入3數:");
- int a,b,c;
-
- //a
- try{
- a=s.nextInt();
- if(a<0)
- {
- //負數
- a=0;
- }
- if(a>100)
- {
- //大於100
- a=100;
- }
- }
- catch(Exception e)
- {
- s.next();
- //請緩存的概念
- //發生例外需用next()捕抓,否則會被安排給b的nextInt()抓走。
-
- System.out.print("你輸入非int");
- a=0;
- }
- //b
- try{
- b=s.nextInt();
- if(b<0)
- {
- //負數
- b=0;
- }
- if(b>100)
- {
- //大於100
- b=100;
- }
- }
- catch(Exception e)
- {
- s.next();
- System.out.print("你輸入非int");
- b=0;
- }
- //c
- try{
- c=s.nextInt();
- if(c<0)
- {
- //負數
- c=0;
- }
- if(c>100)
- {
- //大於100
- c=100;
- }
- }
- catch(Exception e)
- {
- s.next();
- System.out.print("你輸入非int");
- c=0;
- }
-
-
- //平均
- int avg=(a+b+c)/3;
-
- //開始判斷
- // 分數=100
- if(avg==100)
- {
- System.out.print("full mark:100");
- }
- //分數60~99
- else if(avg>=60 && avg<=99)
- {
- System.out.print("pass:"+avg);
- }
- //分數0~60
- else
- {
- System.out.print("failed:"+avg);
- }
-
- }
- }
複製代碼 |