2016-10-31 6 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 :) 
    

    次回は私はあなたがEclipseIntelliJのようなIDEを使用することをお勧め強くveeery

    +0

    ハハ!アドバイスと助けてくれてありがとう –

    2

    ...あなたは、このような「リターン」の文はどこにぶら下がって見たら奇妙な何かがあります伝えることができます。または、健康的なコードスタイルを維持するのに役立つもの、たとえばSublime TextなどのJavaコードスタイルパッケージ。

    何でもできます!

    あなたは3つの問題を抱えてい

    :一番最後に

    1. 行方不明閉じ括弧(})ライン149(おおよそ)
    2. 余分なセミコロンライン150と
    3. 1あまりにも多くのブラケットをあなたのファイルの。

    今回はあなたのコードを整理しましたが、今後は避ける方法を見つけることができればと思っています。:)

    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

    うわー!本当にありがとう!あなたは本当に才能があります。 –

    関連する問題