2015-12-21 77 views
-2

我不得不在Java中的GPA計算器... 用戶將進入課程名稱,獲得商標及百分率... 和程序將輸出等級,等級分所有科目單獨
然後程序會輸出平均GPA ... 程序也將給出關於GPA的評論,就像它是4.0 .... Excelent將顯示在輸出...... 我不是要求代碼我只是想正確的指導,如何解決這個問題像我應該做什麼功能 或循環將被應用?(這種指導)?如何更正此代碼?

我已經試過這樣.....

 import java.util.Scanner; 

    public class Calc { 

    public static void main(String[] args) { 

    Scanner sc = new Scanner(System.in); 
    System.out.println("Enter number of a Subjects"); 
    int nm = sc.nextInt(); 

    for(int i=0;i<=nm;i++) 
    { 
     System.out.println("Enter name of a Subject "); 
       String Sub1 = sc.next(); 
     System.out.println("Enter the Obtained marks of a Subject"); 
       int ObtM = sc.nextInt(); 


       if(ObtM<40) 
       { 
       System.out.println("Grade is F"); 
       System.out.println("GradePoint is 0"); 
       System.out.println("Remarks=Fail"); 
       } 
      else if(ObtM<=49&&ObtM>=40) 
       { 

       System.out.println("Grade is D"); 
       System.out.println("GPA is 1"); 
       System.out.println("Remarks=pass"); 
       } 
      else if(ObtM<=50&&ObtM>=64) 

       { 

       System.out.println("Grade is C"); 
       System.out.println("GPA is 2"); 
       System.out.println("Remarks=Satisfactory"); 
       } 
      else if(ObtM<=65&&ObtM>=79) 

       { 

       System.out.println("Grade is B"); 
       System.out.println("GPA is 3"); 
       System.out.println("Remarks=Good"); 

       } 
      else if(ObtM<=80&&ObtM>=100) 

       { 

       System.out.println("Grade is A"); 
       System.out.println("GPA is 4"); 
       System.out.println("Remarks=Excellent"); 
       } 
       int percentage=ObtM*100/100; 
       System.out.println("Percentage is "+percentage); 

       } 

      } 

}

+0

自己做你的任務! –

+1

您當前的代碼以何種方式無法按預期工作?你卡在哪裏?我們很樂意回答具體問題,但我們不提供輔導服務。 – David

+0

感謝這個美好的評論 –

回答

1

你在編程語言的面向對象,所以利用它!我會用參數編寫作業分配的課程:課程名稱,作業名稱,成績等。其優點在於,您可以將所有作業存儲爲數組,並循環顯示想要顯示的內容。所有的計算都可以在單獨的賦值實例中處理。

該組織將幫助您清理代碼並使問題更易於檢測。請隨時在Oracle文檔中閱讀更多關於這種編碼風格的內容。

您的if聲明中只有一個聲明有效的原因是因爲您已顛倒了所有符號。你要求你的程序識別不存在的數字,即:等級小於數字,也大於同一數字。通過切換你的小於和大於語法,你將實現你想要找到的東西。

例子:

if (ObtM <=50 && ObtM >= 64) 

變爲

if (ObtM >=50 && ObtM <= 64) 
1

if聲明是完全錯誤的。 if(ObtM<=50&&ObtM>=64)需要一個數字,超過51 比63.你要的條件是周圍的其他方式(ObtM >= 50 && ObtM <= 64)。

注意你寫的東西。