2017-02-04 53 views
-2

我正在使用GPA計算器,用戶可以在字母值中輸入A,B +,D-等等,但我無法將小數值分配給字母等級。我覺得我沒有正確寫我的代碼。我正在使用if-else語句來檢查用戶輸入值,然後分配一個double來將它與十進制值相匹配。我也不確定如何將GPA計算公式納入我的if-else語句中。將十進制值賦給java中的一個字符串

最常見的錯誤我得到是 錯誤:(126,24)的java:找不到符號 符號:變量GPA1 位置:類GPA

import java.util.Scanner; 

public class GPA { 
    public static void main(String[] args) { 

    Scanner input1 = new Scanner(System.in); 
    System.out.println("What is your grade in your first class?"); 
    String course1 = input1.next(); 


    Scanner input2 = new Scanner(System.in); 
    System.out.println("What is the grade in your second class?"); 
    String course2 = input2.next(); 


    Scanner input3 = new Scanner(System.in); 
    System.out.println("What is the grade in your third class?"); 
    String course3 = input3.next(); 


    Scanner input4 = new Scanner(System.in); 
    System.out.println("What is the grade in your fourth class?"); 
    String course4 = input4.next(); 


    System.out.println("Your grade in your first class was "+ course1); 
    System.out.println("your grade in your second class was "+ course2); 
    System.out.println("Your grade in your third class was "+ course3); 
    System.out.println("Your grade in your fourth class was "+ course4); 

     //double A = 4.00; 
     //double Aminus = 3.70; 
     //double Bplus = 3.33; 
     //double B = 3.00; 
     //double Bminus = 2.70; 
     //double Cplus = 2.30; 
     //double C = 2.00; 
     //double Cminus = 1.70; 
     //double Dplus = 1.30; 
     //double D = 1.00; 
     //double Dminus = 0.70; 


    if (course1.equals("A")) { 
     double grade1; 
     grade1 = 4.00; 
     double gpa1 = grade1; 
    }else if (course1.equals("A-")) { 
     double grade1; 
     grade1 = 3.70; 
     double gpa1 = grade1; 
    }else if (course1.equals("B+")) { 
     double grade1; 
     grade1 = 3.33; 
     double gpa1 = grade1; 
    }else if (course1.equals("B")) { 
     double grade1; 
     grade1 = 3.00; 
     double gpa1 = grade1; 
    }else if (course1.equals("B-")) { 
     double grade1; 
     grade1 = 2.70; 
     double gpa1 = grade1; 
    }else if (course1.equals("C+")) { 
     double grade1; 
     grade1 = 2.30; 
     double gpa1 = grade1; 
    }else if (course1.equals("C")) { 
     double grade1; 
     grade1 = 2.00; 
     double gpa1 = grade1; 
    }else if (course1.equals("C-")) { 
     double grade1; 
     grade1 = 1.70; 
     double gpa1 = grade1; 
    }else if (course1.equals("D+")) { 
     double grade1; 
     grade1 = 1.30; 
     double gpa1 = grade1; 
    }else if (course1.equals("D")) { 
     double grade1; 
     grade1 = 1.00; 
     double gpa1 = grade1; 
    }else if (course1.equals("D-")) { 
     double grade1; 
     grade1 = 0.70; 
     double gpa1 = grade1; 
    }else if (course2.equals("A")) { 
     double grade2; 
     grade2 = 4.00; 
    }else if (course2.equals("A-")) { 
     double grade2; 
     grade2 = 3.70; 
    }else if (course2.equals("B+")) { 
     double grade2; 
     grade2 = 3.33; 
    }else if (course2.equals("B")) { 
     double grade2; 
     grade2 = 3.00; 
    }else if (course2.equals("B-")) { 
     double grade2; 
     grade2 = 2.70; 
    }else if (course2.equals("C+")) { 
     double grade2; 
     grade2 = 2.30; 
    }else if (course2.equals("C")) { 
     double grade2; 
     grade2 = 2.00; 
    }else if (course2.equals("C-")) { 
     double grade2; 
     grade2 = 1.70; 
    }else if (course2.equals("D+")) { 
     double grade2; 
     grade2 = 1.30; 
    }else if (course2.equals("D")) { 
     double grade2; 
     grade2 = 1.00; 
    }else if (course2.equals("D-")) { 
     double grade2; 
     grade2 = 0.70; 
    }else { 
     System.out.println("incorrect"); 

    System.out.println(gpa1); 











    } 
    } 
} 

回答

0

gpa1在範圍上你在哪裏試圖訪問它進行打印。

你的if/else語句之前定義它,就像這樣:

double gpa1 = 0.0; 

if (course1.equals("A")) { 
     double grade1; 
     grade1 = 4.00; 
     gpa1 = grade1; 
} else if (course1.equals("A-")) { 
     double grade1; 
     grade1 = 3.70; 
     gpa1 = grade1; 
} 
相關問題