错误非法开始表达

时间:2014-02-11 20:43:46

标签: java parsing compiler-construction compiler-errors system.exit

我一直在:

  

非法开始表达,';“预期System.exit(0),并达到   解析时的文件结尾

这是对它的假设和代码的描述。

要解决的问题:
我应该在课外学习多少?

问题:
你的同学需要帮助。这是他们上大学的第一年,他们需要确定他们需要多少小时才能获得好成绩。

Study Hrs Per Week Per Credit                 Grade
5:                                            A,
4:                                            B,
3:                                            C,
2:                                            D,
0:                                            F,

项目规格:

  1. 用户输入他们计划学习的小时数 一周或他们想要的等级,根据他们的学分小时数 输入。 (注意:您的程序必须为用户提供两种选择。)
  2. 程序显示用户的姓名,积分数,总数 研究小时数,以及他们应该获得的分数。
  3. 您可以使用简介中介绍的任何编程技巧 编程逻辑课程来完成这个项目。那会的 但是,要求您在教科书中提前阅读 关于如何在Java中实现该技术的说明 编程语言。
  4. 以下是我的代码:

    import javax.swing.JOptionPane; //Needed for the dialogue box
    
    /**
        This program shows the student the grade they will receive 
        or how much to study for a certain grade.
    */
    
    public class MoultonAlainaProject1
    {
        public static void main(String[] args)
        {
            string wantedGrade, desiredGrade, name, input;
            char finalGrade;
            int gradeA = 5;
            int gradeB = 4;
            int gradeC = 3;
            int gradeD = 2;
            int gradeF = 0;
            float studyHrs;
            int creditHrs, userChoice;
    
            //Scanner for keyboard input
            Scanner keyboard = new Scanner(System.in);
    
            name = JOptionPane.showInputDialog("Please enter your name.");
    
            input = JOptionPane.showInputDialog("How many credit hours do you plan on taking this semester?");
            creditHrs = integer.parseInt(input);
    
            input = JOption.showInputDialog("If you would like to know the amount of hours you should study for the amount of" + 
                                            "credit hours press 1. If you would like to know the grade you would receive by" +
                                            "entering the amount of hours you plan to study press 2.");
            userChoice = integer.parseInt(input);
    
            if (userChoice == 1)
            {
                desiredGrade = JOptionPane.showInputDialog("Enter the grade you would like to receive.");
    
                if (desiredGrade == 'A' || 'a')
                {
                    wantedGrade = gradeA;
                }
                else
                {
                    if (desiredGrade == 'B' ||'b')
                    {
                        wantedGrade = gradeB;
                    }
                    else
                    {
                        if (desiredGrade == 'C' || 'c')
                        {
                            wantedGrade = gradeC;
                        }
                        else
                        {
                            if (desiredGrade == 'D' || 'd')
                            {
                                wantedGrade = gradeD;
                            }
                            else
                            {
                                if (desiredGrade == 'F' || 'f')
                                {
                                    wantedGrade = gradeF;
                                }
                                else 
                                {
                                    System.out.printIn("Error: you have not entered a valid input.");
                                }
                            }
                        }   
                    }
                }   
    
                studyHrs = wantedGrade * creditHrs; 
            }
        else
        {
            if (userChoice == 2)
            {
                input = JOptionPane.showInputDialog("Enter the amount of hours you plan to study a week.");
                studyHrs = integer.parseInt(input);
    
                wantedGrade = studyHrs/creditHrs;
    
                if (wantedGrade >= 5)
                {
                    finalGrade = "A";
                }
                else
                {
                    if (wantedGrade >= 4)
                    {
                        finalGrade = "B";
                    }
                    else 
                    {
                        if (wantedGrade >= 3)
                        {
                            finalGrade = "C";
                        }
                        else
                        {
                            if (wantedGrade >= 2)
                            {
                                finalGrade = "D";
                            }
                            else
                            {
                                if (wantedGrade < 2)
                                {
                                    finalGrade = "F";
                                }
                            }
                        }
                    }
                }
    
            JOptionPane.showMessageDialog(null, name+ ", you are taking " +creditHrs+ "credit hours, you should study " +studyHrs+ " hours a week to receive " +finalGrade+ " in your classes." 
    
            System.exit(0);
        }
    }   
    

    我已经检查了很多次,但我可能在某处遗漏了某些东西

2 个答案:

答案 0 :(得分:1)

您有大约20个编译时错误 我看到缺少导入,用小写字母写的字符串,未闭合的括号,
未闭合的花括号,将字符串值赋给char变量等。
见下文并修复它们。

    Description Resource    Path    Location    Type
    Type mismatch: cannot convert from String to char   MoultonAlainaProject1.java  /TEST/src   line 107    Java Problem
    Type mismatch: cannot convert from String to char   MoultonAlainaProject1.java  /TEST/src   line 101    Java Problem
    Type mismatch: cannot convert from String to char   MoultonAlainaProject1.java  /TEST/src   line 95 Java Problem
    Type mismatch: cannot convert from String to char   MoultonAlainaProject1.java  /TEST/src   line 89 Java Problem
    integer cannot be resolved  MoultonAlainaProject1.java  /TEST/src   line 83 Java Problem
    The method printIn(String) is undefined for the type PrintStream    MoultonAlainaProject1.java  /TEST/src   line 69 Java Problem
    integer cannot be resolved  MoultonAlainaProject1.java  /TEST/src   line 33 Java Problem
    JOption cannot be resolved  MoultonAlainaProject1.java  /TEST/src   line 30 Java Problem
    Syntax error, insert "}" to complete MethodBody MoultonAlainaProject1.java  /TEST/src   line 124    Java Problem
    Syntax error on token(s), misplaced construct(s)    MoultonAlainaProject1.java  /TEST/src   line 122    Java Problem
    exit cannot be resolved or is not a field   MoultonAlainaProject1.java  /TEST/src   line 122    Java Problem
    Syntax error on token(s), misplaced construct(s)    MoultonAlainaProject1.java  /TEST/src   line 120    Java Problem
    Type mismatch: cannot convert from String to char   MoultonAlainaProject1.java  /TEST/src   line 113    Java Problem
    Syntax error, insert "}" to complete ClassBody  MoultonAlainaProject1.java  /TEST/src   line 9  Java Problem
    Scanner cannot be resolved to a type    MoultonAlainaProject1.java  /TEST/src   line 23 Java Problem
    string cannot be resolved to a type MoultonAlainaProject1.java  /TEST/src   line 12 Java Problem
    integer cannot be resolved  MoultonAlainaProject1.java  /TEST/src   line 28 Java Problem
    Scanner cannot be resolved to a type    MoultonAlainaProject1.java  /TEST/src   line 23 Java Problem

答案 1 :(得分:0)

 JOptionPane.showMessageDialog(null, name+ ", you are taking " +creditHrs+ "credit hours, you should study " +studyHrs+ " hours a week to receive " +finalGrade+ " in your classes." 

showMessageDialog() - 方法未完成。你缺少一个右括号和分号。