2015-03-25 50 views
0

你好,我有這個問題,我一直在絆倒了很多天,現在我會把我的整個代碼,我嘗試.. 這裏的問題第一: 作爲一個兼職學生,你上兩學期上學期。編寫一個Java程序,計算並顯示該學期的平均成績(GPA)。您的課程應提示用戶輸入每門課程的等級和學分。然後應該以最低等級顯示這些信息,並計算並顯示該術語的GPA。如果GPA小於2.0,應打印警告信息,如果GPA小於等於3.5,則應發送祝賀信息。Gpa展示和最低年級第一?

首先顯示最低等級的部分是真正困惑我

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順便說一句

回答

0

你已經完成了作業只是將環路條件從>更改爲<並完成。但是你如何得到很簡單,比較運算符實際上會比較字符的Unicode,因爲字母的Unicode是按順序排列的,並且BA之後,因此B的Unicode大於A的。

+0

我改變了它,因爲你說,B出現在A之前,這表明它是正確的,所以沒關係?我應該提交嗎?非常感謝你提前 – soundrain 2015-03-25 10:02:14

+0

是的,你可以提交它。 – saikumarm 2015-03-25 10:59:02

相關問題