2014-02-12 35 views
-8

得到一個非常奇怪的錯誤。當我添加得到一堆編譯錯誤

{ 
    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."); 
     } 
    } 
} 
+6

爲什麼不發佈錯誤...?你在網上看過他們嗎?我們是什麼,你的個​​人調試器? –

+0

'我得到了大約19個錯誤。'啊,那些經典的19個錯誤。有人必須是斯蒂芬國王的粉絲。 – admdrew

+0

事實是,當我添加一行代碼時,它給了我19個錯誤。當我刪除它時,錯誤消失。感謝智能響應,再見了 – user3303473

回答

5

你需要給while循環的條件,如:

while (homeworkGrades != something) { 

} 
0

你需要告訴你的while循環何時退出。沒有這些信息,它無法知道何時停止。跳過該條件也是不正確的編碼。

基於你所寫的內容,這會給你什麼,你最有可能尋找:

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

我希望我幫助你更清楚地瞭解這一點。 :)