2011-12-05 6 views
1

私はそれをすべてやっていますが、グレードが対応する数値に変換されず実際に計算されていない理由を理解できませんgpa。誰かが試してみて、それが正しく動作するように修正できたら、それはすばらしいでしょう!ありがとうございました。GPA計算機をJavaで作成するには、少し調整して終了してください。

import java.util.Scanner; 

public class StudentGPA { 

public static void main (String args[]){ 

//User inputs the number of classes he/she has 
Scanner input = new Scanner (System.in); 
System.out.println("Please enter the amount of grades you have"); 
int classes; 
classes = input.nextInt(); 
String Grade = ""; 
int totalCredits = 0; 
int totalCreditsEarned = 0; 
int credits; 
double gpa; 
double number=0; 

//String of if and else statements that set the number to the appropriate GPA 
if(Grade.equals("A")){ 
number = 4.0; 
} else if(Grade.equals("A-")){ 
number = 3.67; 
} else if(Grade.equals("B+")){ 
number = 3.33; 
} else if(Grade.equals("B")){ 
number = 3.0; 
} else if(Grade.equals("B-")){ 
number = 2.67; 
} else if(Grade.equals("C+")){ 
number = 2.33; 
} else if(Grade.equals("C")){ 
number = 2.0; 
} else if(Grade.equals("C-")){ 
number = 1.67; 
} else if(Grade.equals("D+")){ 
number = 1.33; 
} else if(Grade.equals("D")){ 
number = 1.0; 
} else if(Grade.equals("D-")){ 
number = 0.67; 
} else if(Grade.equals("F")){ 
number = 0; 
} else { 
number = 0; 

//Loop that ends once the student has put information in on all his classes 
for(int count = 0; count < classes; count++) 
{ 

//Reads the number of credits each class was 
Scanner input2 = new Scanner (System.in); 
System.out.println("Please enter the number of credits this class was (A number)"); 
credits = input2.nextInt(); 
//reads the letter grade using the String Grade prompt 
Scanner input3 = new Scanner(System.in); 
System.out.println("Please enter your grade for this class (Capital letters such as A,   B+, C-)"); 
Grade = input3.next(); 

//algorithm for finding the GPA 
totalCredits += credits; 
totalCreditsEarned += (credits * number); 
} 
//for loop ends 

//GPA is calculated for all the students classes 
gpa = totalCreditsEarned/totalCredits; 

//GPA is printed to the screen 
System.out.println(gpa); 
} 
} 

} `

+0

if文の前にブレークポイントを置き、文字列が正しく設定されているかどうかを確認します。編集:私はあなたが文字列を設定しているか分からない? – Rob

+2

crossposted http://www.daniweb.com/software-development/java/threads/398454 – mKorbel

+2

daniwebの投稿に返信してください:p –

答えて

1

簡単に修正、ループの中で、あなたの場合はブロックを置く:ここ

は、私が持っているコードです。

gpaを見つけるためのアルゴリズムの前に

+0

私はそれがグレードの部分を入力することを台無しにした場合 –

+0

daniewebの投稿は同じアイデアを持っています。個人的には、idはintを返すメソッドを作成し、そこにブロックがあればそれを入れます。 – Andy

関連する問題