2012-11-19 19 views
6

このプログラムのポイントは、ユーザーが3つの試験のスコアを入力し、それらの平均と文字のグレードが返されることです。Java switch文<identifier> issue

public class GradeProblem 
{ 
public static void main(String[] args) 
{ 
char letterGrade; 
String exam1, exam2, exam3; 
double exam1Score, exam2Score, exam3Score, average; 

exam1 = JOptionPane.showInputDialog(null, "Enter your score for Exam 1: "); 
exam1Score = Double.parseDouble(exam1.substring(0,2)); 
int intExam1Score = (int)exam1Score; 

exam2 = JOptionPane.showInputDialog(null, "Enter your score for Exam 2: "); 
exam2Score = Double.parseDouble(exam2.substring(0,2)); 
int intExam2Score = (int)exam2Score; 

exam3 = JOptionPane.showInputDialog(null, "Enter your score for Exam 3: "); 
exam3Score = Double.parseDouble(exam3.substring(0,2)); 
int intExam3Score = (int)exam3Score; 

average = (intExam1Score + intExam2Score + intExam3Score)/3; 

int intAvergage = (int)average; 
letterGrade = getLetterGrade(intAverage); 

System.out.println("Your average is "+average); 
System.out.println("Your letter grade is "+letterGrade); 

} 

private static String getLetterGrade(average) 
{ 
String letterGrade; 
switch(intAverage/10) 
{ 
    case 10: letterGrade = "A"; 
    case 9: letterGrade = "A"; 
       break; 
    case 8: letterGrade = "B"; 
       break; 
    case 7: letterGrade = "C"; 
       break; 
    case 6: letterGrade = "D"; 
    default: 
       letterGrade = "E"; 
} 
return letterGrade; 

    } 
+0

パラメータ "average"のデータ型がありません –

答えて

3

それがあるべき..

それが現在書かれている方法は、「..パブリック静的文字列getLetterGrade」の私の行をエラーを与え、それは、なぜ私は知らない

private static String getLetterGrade(int average){ 

または任意のデータ型で、あなたは別の非を参照しているが

0

intAverageは、変数の平均の種類を置くのを忘れてあなたのswitch文で変数を存在するI nメソッドgetLetterGradeswitch(intAverage/10)switch(average/10)も修正してください。あなたは、変数averageの種類を入力し忘れた

0
private static String getLetterGrade(int average) 

、それは私がとるタイプintする必要があります。

スイッチ(intAverage/10)を切り替える(平均/ 10)必要があります。

あなたが無視したいことがない限り、あなたのint intingの精度にはいくつかの問題があります。 if文とswitch文の範囲をint型にキャストするのではなく、if文を使用します。たぶんそれは違いがあるかもしれませんが、正確さのキャストと喪失だけでは、コードが不完全であるように感じるかもしれません。

+0

averageはintであり、文字列ではありません。 – Maroun

0

パラメータaverageには型がありません。

private static String getLetterGrade(int average) { 

あなたが渡す変数のタイプと一致する必要があります。

+0

彼は決してこの変数を使用しません。私は彼が 'switch'ステートメントの中で' average'を使わなければならないと思います。 – Maroun