2016-10-31 44 views
-3

我的代碼發佈在下面。我正在生成隨機數字等級並將它們分配給字母等級。然後將創建一個客戶端類來測試該程序。我的問題即將結束。我收到一個錯誤,表示非法開始表達。也許我只需要一組新的眼睛來看看這個。我似乎無法弄清楚。謝謝!用戶定義類中的Java數組

import java.util.Random; 

public class Convertgrade 
{ 
    private int numberOfStudents; 

    private int[] studentGrades = new int[100]; 


    public Convertgrade() 
    { 
      numberOfStudents = 0; 
    } 

     //one arg constructor, sets numberOfStudents = students 
     public Convertgrade(int students) 

     { 
      numberOfStudents = students; 
      setGrades(students); 
     } 

     //mutator 
     public void setStudents(int students) 
     { 
      if(students < 0) 
      { 
         numberOfStudents = 0; 
      } 
      else 
      { 
         numberOfStudents = students; 
         setGrades(students); 
       } 
     } 

     //accessor 
     public int getStudents() 

     { 
     return numberOfStudents; 
     } 

     public void setGrades(int students) 
     { 
       Random randomNumber = new Random(); 
       for(int count = 0; count < students; count++) 
       { 
        studentGrades[count] = randomNumber.nextInt(101); 
        } 
       } 

      public char[] getLetterGrades() 
      { 
        char[] letterGrades = new char[numberOfStudents]; 
        for(int count = 0; count < numberOfStudents; count++) 
        { 
          if(studentGrades[count] <= 59) 
          letterGrades[count] = 'F'; 

          else if(studentGrades[count] <= 69) 
          letterGrades[count] = 'D'; 

          else if(studentGrades[count] <= 79) 
          letterGrades[count] = 'C'; 

          else if(studentGrades[count] <= 89) 
          letterGrades[count] = 'B'; 

          else if(studentGrades[count] <= 100) 
          letterGrades[count] = 'A'; 
          } 
         return letterGrades; 
         } 

      public int getAs() 

      { 

         int numberOfAs = 0; 

         for(int count = 0; count < numberOfStudents; count++) 

         { 

           if(studentGrades[count] >= 90) 

           numberOfAs++; 

         } 
        return numberOfAs; 
      } 

      public int[] getNumberOfEachGrade() 

      { 

       int[] numberOfGrades = new int[numberOfStudents]; 

       for(int count = 0; count < numberOfStudents; count++) 

        { 

         if(studentGrades[count] <= 59) 

         numberOfGrades[count] ++; 

         else if(studentGrades[count] <= 69) 

         numberOfGrades[count] ++; 

         else if(studentGrades[count] <= 79) 

         numberOfGrades[count] ++; 

         else if(studentGrades[count] <= 89) 

         numberOfGrades[count] ++; 



         else if(studentGrades[count] <= 100) 

         numberOfGrades[count] ++; 

       } 

       return numberOfGrades; 

      } 



      public String toString() 

      { 

        System.out.format("The number of students = %d\n", numberOfStudents); 

        for(int count = 0; count < numberOfStudents; count++) 

        { 

          System.out.format("Grade %d is %d\n", count + 1, studentGrades[count]); 

        } 

      return String.format("\n"); 

      public void sort_array(int[] array); 
      //GETTING ERRORS HERE^: ILLEGAL START OF EXPRESSION 

      { 

        int intTemp; 

        int count = 0; 

        int index = 0; 

        for(count = 0; count < (array.length - 1); count++) 

        { 

         for(index = 0; index < (array.length - 1); index++) 

         { 

           if(array[index] > array[index +1]) 

           { 

             intTemp = array[index +1]; 

             array[index +1] = array[index]; 

             array[index] = intTemp; 

            } 

          } 

        } 

       } 

     } 

} 
+0

'public void sort_array(int [] array){...}'...用大括號替換分號。 –

+0

您已經指出了問題。從聲明中刪除分號。 –

+0

仍然收到錯誤傢伙。感謝您的迴應。你們可以嘗試編譯它嗎? –

回答

0

你在錯誤的地方有一些大括號{}和分號。

你的縮進看起來有點搞砸 - 也許這是你在做這篇文章時如何複製代碼,但小心你的縮進可以使這些錯誤更明顯。

  • 您有後「公共無效sort_array(INT []數組)」分號這不應該存在
  • 你有缺少右括號}緊接本
  • 之前,有一個額外的在文件的結尾結束花
0

替換此部分:

 return String.format("\n"); 

     public void sort_array(int[] array); 
     //GETTING ERRORS HERE^: ILLEGAL START OF EXPRESSION 

通過這個:

return String.format("\n"); 
} 

public void sort_array(int[] array) { 
    // OMG THERE ISN'T ERRORS ANYMORE :) 

下一次你可以告訴有什麼東西,如果你看到這樣的「回報」語句掛在無處奇怪...

+0

HAHA!感謝您的建議和幫助 –

2

我veeery強烈建議您使用IDE,像EclipseIntelliJ。或者任何能夠幫助你保持健康的代碼風格的東西,比如Sublime Text以及一些Java代碼風格包。

任何事情都可以做!


您有3個問題:

  1. 缺失閉合支架(})線149(大致)
  2. 一個額外的分號線150個
  3. 一個在最後太多括號的文件。

我這次爲你清理了你的代碼,但它只是輸入問題,我希望你能找到一種方法來避免在未來:)

import java.util.Random; 

public class Convertgrade { 

    private int numberOfStudents; 
    private final int[] studentGrades = new int[100]; 

    public Convertgrade() { 
     this.numberOfStudents = 0; 
    } 

    // one arg constructor, sets numberOfStudents = students 
    public Convertgrade(final int students) { 
     this.numberOfStudents = students; 
     setGrades(students); 
    } 

    // mutator 
    public void setStudents(final int students) { 
     if (students < 0) { 
      this.numberOfStudents = 0; 
     } else { 
      this.numberOfStudents = students; 
      setGrades(students); 
     } 
    } 

    // accessor 
    public int getStudents() { 
     return this.numberOfStudents; 
    } 

    public void setGrades(final int students) { 
     final Random randomNumber = new Random(); 
     for (int count = 0; count < students; count++) { 
      this.studentGrades[count] = randomNumber.nextInt(101); 
     } 
    } 

    public char[] getLetterGrades() { 
     final char[] letterGrades = new char[this.numberOfStudents]; 
     for (int count = 0; count < this.numberOfStudents; count++) { 
      if (this.studentGrades[count] <= 59) { 
       letterGrades[count] = 'F'; 
      } else if (this.studentGrades[count] <= 69) { 
       letterGrades[count] = 'D'; 
      } else if (this.studentGrades[count] <= 79) { 
       letterGrades[count] = 'C'; 
      } else if (this.studentGrades[count] <= 89) { 
       letterGrades[count] = 'B'; 
      } else if (this.studentGrades[count] <= 100) { 
       letterGrades[count] = 'A'; 
      } 
     } 

     return letterGrades; 
    } 

    public int getAs() { 
     int numberOfAs = 0; 
     for (int count = 0; count < this.numberOfStudents; count++) { 
      if (this.studentGrades[count] >= 90) { 
       numberOfAs++; 
      } 
     } 

     return numberOfAs; 
    } 

    public int[] getNumberOfEachGrade() { 
     final int[] numberOfGrades = new int[this.numberOfStudents]; 
     for (int count = 0; count < this.numberOfStudents; count++) { 
      if (this.studentGrades[count] <= 59) { 
       numberOfGrades[count]++; 
      } else if (this.studentGrades[count] <= 69) { 
       numberOfGrades[count]++; 
      } else if (this.studentGrades[count] <= 79) { 
       numberOfGrades[count]++; 
      } else if (this.studentGrades[count] <= 89) { 
       numberOfGrades[count]++; 
      } else if (this.studentGrades[count] <= 100) { 
       numberOfGrades[count]++; 
      } 
     } 

     return numberOfGrades; 

    } 

    @Override 
    public String toString() { 
     System.out.format("The number of students = %d\n", this.numberOfStudents); 
     for (int count = 0; count < this.numberOfStudents; count++) { 
      System.out.format("Grade %d is %d\n", count + 1, this.studentGrades[count]); 
     } 

     return String.format("\n"); 
    } 

    public void sort_array(final int[] array) { 
     int intTemp; 
     int count = 0; 
     int index = 0; 
     for (count = 0; count < (array.length - 1); count++) { 
      for (index = 0; index < (array.length - 1); index++) { 
       if (array[index] > array[index + 1]) { 
        intTemp = array[index + 1]; 
        array[index + 1] = array[index]; 
        array[index] = intTemp; 
       } 
      } 
     } 
    } 
} 
+0

哇!非常感謝!你真的很有天賦。 –