[英]Gpa displaying and lowest grade first?
你好,我有一個問題,我已經絆了很多天了,我將把我嘗試過的全部代碼..這是第一個問題:作為兼職學生,你上學期選修了兩門課程。 編寫一個Java程序,計算並顯示該學期的平均成績(GPA)。 您的程序應提示用戶輸入每門課程的成績和學分。 然后應首先以最低的成績顯示此信息,並應計算並顯示該學期的GPA。 如果GPA小於2.0,則應打印警告消息,如果GPA為3.5或更高,則應顯示祝賀消息。
首先顯示最低成績的部分真的讓我感到困惑
import java.util.*;
public class Gpa
{static Scanner stdIn= new Scanner(System.in);
public static void main (String[]args)
{
char grade1=' ';
char grade2=' ';
double gradevalue1=0;
double gradevalue2=0;
double gpa;
double totalpointscourse1;
double totalpointscourse2;
double credithours1,credithours2;
System.out.print("enter grade for course1 like A,B,C,D,F: ");
grade1=stdIn.next().charAt(0);
System.out.print("enter credit hours for course1: ");
credithours1=stdIn.nextDouble();
System.out.print("enter grade for course2 like A,B,C,D,F: ");
grade2=stdIn.next().charAt(0);
System.out.print("enter credit hours for course2: ");
credithours2=stdIn.nextDouble();
if(grade1=='A')
gradevalue1=4;
else
if(grade1=='B')
gradevalue1=3;
else if (grade1=='C')
gradevalue1=2;
else if (grade1=='D')
gradevalue1=1;
else
gradevalue1=0;
if(grade2=='A')
gradevalue2=4;
else
if (grade2=='B')
gradevalue2=3;
else if (grade2=='C')
gradevalue2=2;
else if (grade2=='D')
gradevalue2=1;
else
gradevalue2=0;
totalpointscourse1=gradevalue1*credithours1;
totalpointscourse2=gradevalue2*credithours2;
gpa= (totalpointscourse1+totalpointscourse2)/(credithours1+credithours2);
if(grade1=='A'||grade1=='B'||grade1=='C'||grade1=='D'||grade1=='F'||grade2=='A'||grade2=='B'||
grade2=='C'||grade2=='D'||grade2=='F')
System.out.println(" your gpa is" + gpa);
else
System.out.println(" invalid gpa");
if(gpa>=3.5)
System.out.println("Congratulations");
else if (gpa<2.0)
System.out.println("WARNING");
if (grade1>grade2) {
System.out.println(grade2);
System.out.println(grade1);
}
else {
System.out.println(grade1);
System.out.println(grade2);
}
}
}
這是我的輸出:
//
enter grade for course1 like A,B,C,D,F: B
enter credit hours for course1: 3
enter grade for course2 like A,B,C,D,F: A
enter credit hours for course2: 3
your gpa is3.5
Congratulations
A
B
//
我正在使用jGrasp btw
您已經完成工作,只需將循環條件從>
更改為<
然后完成即可。 但是您的獲取方式很簡單,比較運算符實際上比較字符的unicode,並且由於字母的unicode是按順序排列的,並且B
在A
之后A
因此B
的unicode大於A
的unicode。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.