得到一堆编译错误

时间:2014-02-12 19:03:20

标签: java

得到一个非常奇怪的错误。当我添加

{
    while {
        System.out.println( "Enter homework grades, Enter -1 when done" );
        homeworkGrades += input.nextInt();
    }
}

我得到了大约19个错误。如果我删除它,那么没有错误。我花了不少时间来改变它,但我似乎无法让它发挥作用。该程序只是询问您是否要平均成绩或退出,然后询问您的姓名。现在我希望它允许用户输入家庭作业成绩进行平均,然后它会要求测验成绩达到平均水平,然后最后测试成绩。然后它将取3个平均值并取平均值。

import java.util.Scanner;

public class Assignment3

{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int homeworkGrades;
        int quizGrades;
        int testGrades;
        int choice;
        int total;
        double average;
        String name;

        total = 0;

        System.out.println("Enter 1 or 2: \n 1 - Average grades \n 2 - Quit");
        choice = input.nextInt();

        if (choice == 1) {
            System.out.println("Enter the students name");
            name = input.next();

            System.out.println("Grades will be entered in this order: \n 1) Homework Grades \n 2) Quiz Grades \n 3) Test Grades ");

            //here
            {
                while {
                    System.out.println( "Enter homework grades, Enter -1 when done" );
                    homeworkGrades += input.nextInt();

                }
            }

        }

        if (choice == 2) {
            System.out.println("Exiting program");
        }

        else {
            System.out.println("Invalid response, exiting program.");
        }
    }
}

2 个答案:

答案 0 :(得分:5)

您需要为while循环指定条件,例如:

while (homeworkGrades != something) {

}

答案 1 :(得分:0)

你需要告诉你的while循环何时退出。没有这些信息,就无法知道何时停止。跳过这个条件的编码也不正确。

根据您所写的内容,这将为您提供最有可能找到的内容:

int grade = 0;
while (grade >= 0)
{
    homeworkGrades += grade;
    System.out.println( "Enter homework grades, Enter -1 when done" );
    int grade = input.nextInt();
}

我希望我能帮助你更清楚地理解这一点。 :)