java - 错误表达式非法开始

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

我不断得到:

illegal start of expression,';" expected System.exit(0), and reached end of file while parsing

这是对其预期功能和代码的描述。

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

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

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

项目规范:

  1. 用户输入他们计划学习的小时数 周或他们想要的成绩取决于他们的学分 进入。 (注意:您的程序必须为用户提供这两个选项。)
  2. 程序显示用户姓名、积分数、总积分 学习时数以及他们应该获得的成绩。
  3. 您可以使用简介中介绍的任何编程技术 编程逻辑类(class)来完成这个项目。那将 但是,要求您提前阅读教科书 有关如何在 Java 中实现该技术的说明 编程语言。

下面是我的代码:

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);
    }
}   

我已经检查过大括号很多次了,但我可能在某个地方漏掉了一些东西

最佳答案

您有大约 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

关于java - 错误表达式非法开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21712604/

相关文章:

c++ - C/C++ 编译器警告 : do you clean up all your code to remove them or leave them in?

java - 如何从服务调用的线程更改 Activity 的进度条进度?

java - 更改 NatTable 单元格选择颜色

c# - 日期时间转换和解析

java - StAX JAVA 提取特定标签和数据

c++ - C++ 中的枚举类不能在 Mac 中编译,而在 Windows 中可以工作

java - 从打印循环中排除日期

java - 打开 axis2 服务器时出现内部服务器错误

java - Jackson 无法解析嵌套对象,异常构造参数 #6 没有属性名称注释

c# - 当对象设置为 null 时,针对 CLR 的编译器能否生成 Dispose 方法调用?