亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用 Java 調試我的字母成績計算器

用 Java 調試我的字母成績計算器

炎炎設計 2023-11-10 17:05:40
我應該創建一個程序來執行以下操作:學生在學期內必須參加兩次測驗和兩次考試。最終成績的計算中將剔除一項測驗和一項考試。剩余測驗占最終成績的 40%,考試占最終成績的 60%。最終成績按直線計算:90%及以上為“A”,低于90%至80%為B等。該程序應允許教授輸入學生姓名、身份證號碼、兩個測驗分數和兩次考試成績,然后計算并輸出學生的最終成績。下面是我寫的代碼。它執行得很好,沒有任何錯誤,我感覺我已經正確地完成了所有事情;但是,無論我輸入什么分數,程序都會返回字母等級“A”。public static void main(String[] args){    //Declare all variables    String name;    String idNum;    int q1;    int q2;    int e1;    int e2;    int bestQuiz;    int bestExam;    double score;    char letterGrade;        Scanner kbd;    kbd = new Scanner(System.in);        System.out.println("Enter student's name: ");    name = kbd.nextLine();    System.out.println("Enter student's ID number: ");    idNum = kbd.nextLine();    System.out.println("Enter the quiz scores: ");    q1 = kbd.nextInt();    q2 = kbd.nextInt();    System.out.println("Enter the exam scores: ");    e1 = kbd.nextInt();    e2 = kbd.nextInt();        bestQuiz = max(q1, q2);    bestExam = max(e1, e2);        score = computeRawPercentage(bestQuiz, bestExam);        letterGrade = finalGrade( score );        System.out.print(name + " " + idNum + " ");    System.out.println("Final Grade: " + letterGrade);    }        //Max method   public static int max(int n1, int n2){        int big;        if (n1 > n2){            big = n1;        }        else {            big = n2;        }        return big;    }      //computeRawPercentage method   public static double computeRawPercentage(int quizScore, int examScore){       return ((quizScore * .4)+ (examScore * .6))*100;   }      //finalGrade method   public static char finalGrade(double grade){              char letterGrade;              if (grade >= 90.0)           letterGrade = 'A';       else if ((grade >= 80.0)&&(grade < 90.0))           letterGrade = 'B';       else if ((grade >= 70.0)&&(grade < 80.0))           letterGrade = 'C';       else if ((grade >= 60.0)&&(grade < 70.0))           letterGrade = 'D';       else           letterGrade = 'F';              return letterGrade;          }                       }
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

你的問題是這一行:


return ((quizScore * .4)+ (examScore * .6))*100;

在這里,您將您的分數乘以該分數,這100將給您一個類似于7100應有的分數71(顯然在上面90.0)。刪除100乘法就可以了:


return ((quizScore * .4) + (examScore * .6));

測試運行:


Enter student's name: 

TestName

Enter student's ID number: 

12345

Enter the quiz scores: 

55

65

Enter the exam scores: 

65

86

77.6

TestName 12345 Final Grade: C

這是假設您輸入的分數75%為75。


查看完整回答
反對 回復 2023-11-10
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號