【问题标题】:BlueJ Illegal start of expression errorBlueJ Illegal start of expression 错误
【发布时间】:2017-04-07 17:45:22
【问题描述】:

我目前正在我高中的在线计算机科学课程上。我正在开发一个程序,该程序应该从外部文件中获取几个学生的成绩,并通过使用驾驶员课程和主要课程计算学生在课程中获得的最终百分比以及随之而来的字母成绩班级。 (注意每个学生有 4 个成绩 2 次测验 1 次期中和 1 次期末,测验从 10 分中评分,占期末总成绩的 25%。期中占 25%,期末占 50% .) 每次我尝试编译我的代码时,它都会挂在一个用于确定最终字母等级的 if 循环上,我不知道它有什么问题,非常感谢任何帮助。

主要代码

public class StudentRecord
{
    private int quiz1;
    private int quiz2;
    private int midterm;
    private int test;
    private double finalpercent;
    private char finalgrade;
    public StudentRecord()
    {
        quiz1 = null;
        quiz2 = null;
        midterm = null;
        test = null;
    }
    public StudentRecord(int t, int m, int q1, int q2)
    {
        quiz1 = q1*10;
        quiz2 = q2*10;
        midterm = m;
        test = t;
    }
    public void setTest(int t)
    {
        test=t;
    }
    public void setMidterm(int m)
    {
        midterm=m;
    }
    public void setQuiz2(int q2)
    {
        quiz2=q2*10;
    }
    public void setQuiz1(int q1)
    {
        quiz1=q1*10;
    }
    public void setFinalPercent(int quiz1, int quiz2, int midterm, int test)
    {
        finalpercent = ((quiz1+quiz2)/2)*.25+midterm*.25+test*.5;
    }
    public void setFinalGrade(double finalpercent)
    {
        if (finalpercent => 90) THIS IS WHERE THE ERROR happens
        {
            finalgrade = A;
        }
        else if (finalpercent<=89&&finalpercent=>80)
        {
            finalgrade = B;
        }
        else if {finalpercent<=79&&finalpercent=>70}
        {
            finalgrade = C;
        }
        else if {finalpercent<=69&&finalpercent=>60}
        {
            finalgrade = D;
        }
        else 
        {
            finalgrade = F;
        }
    }
    public int getQuiz1()
    {
        return quiz1;
    }
    public int getQuiz2()
    {
        return quiz2;
    }
    public int getMidterm()
    {
        return midterm;
    } 
    public int getTest()
    {
        return test;
    }
    public double getFinalPercent()
    {
    return finalpercent;    
    }
    public char getFinalGrade()
    {
        return finalgrade;
    }
    public void inputinfo(Scanner.inFile)
    {
        private 
    }
}

驱动代码

public class StudentRecordDriver
{
    public static void main(String[] args)
    { 
        Scanner inFIle = null;
        try
        {
            inFile = new Scanner(new File("349f.txt"));
        }
        catch (FileNotFoundException e)
        {
            System.out.println("File not found");
            System.exit(0);
        }       

System.out.pritnln("Studet\tQuiz1\tQuiz2\tMidTerm\tFinal\tFinal%\tGrade");
        int student = 1;
        while (inFile.hasNext())
        {
            String[] grades = inFile.nextLine().split(" ");
            int quiz1 = Integer.valueOf(grade[0]);
            int quiz2 = Integer.valueOf(grade[1]);
            int midterm = Integer.valueOf(grade[2]);
            int test = Integer.valueOf(grade[3]);
            StudentRecord Student = new StudentRecord(int test, int midterm, int quiz1, int quiz2);



 System.out.println(student+"\t"+student.getQuiz1+"\t"+student.getQuiz2+"\t"+student.getMidterm+"\t"+student.getTest+"\t"+student.getFinalPercent+"\t"+student.getFinalGrade);;
        }
    }
}

【问题讨论】:

  • 好吧,public void inputinfo(Scanner.inFile) 看起来并不有效,首先……也不是 body 只是 private。
  • 这是&gt;=,而不是=&gt;。

标签: java bluej


【解决方案1】:

您有 很多 语法错误。例如,您不能为 int 为空,只能为 Integer,例如 midterm = null。此外,比较 =&gt; 无效,它是 &gt;=,这可能是您的错误的来源。您的 IF 条件周围有“{}”,应该是 ()... 仅举几例。

我对 bluej 一无所知,但如果它缺少类似的基本功能,您可能希望切换到更好的 IDE,例如 eclipse。这肯定会帮助您清除许多基本错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 2020-02-04
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多