-3

コードを少しクリーンアップしようとしています。これが私がこれまでに持っているものです:

次のクラスが更新されました***

    }
}



**ERRORS BELOW:**

 ----jGRASP exec: javac -g gradeSorter.java

gradeSorter.java:18: error: cannot find symbol
    intNode good = new intNode();
    ^
  symbol:   class intNode
  location: class gradeSorter
gradeSorter.java:18: error: cannot find symbol
    intNode good = new intNode();
                       ^
  symbol:   class intNode
  location: class gradeSorter
2 errors

 ----jGRASP wedge2: exit code for process is 1.
 ----jGRASP: operation complete.

コードは以前はフォーマットされておらず、メソッドやクラスのない単一のファイルでした。転載しようと思っています。プログラムは以前は完全に機能していました。メインクラスの変数をサブクラスに呼び出す方法がわかりません。

4

2 に答える 2

0

まず、Java の標準的なスタイルは、メソッド名とは異なり、クラス名が大文字になります。IE

public class GradeSorter;

try catch をどのように使用するかはわかりません。ファイル「grades.dat」を見つけようとすると、例外が生成され、intNode オブジェクトが作成されます。例外がなければ、プログラムは終了します。

編集:「new intNode();」を使用して intNode オブジェクトも作成します。これは、存在しない intNode クラスの引数なしのコンストラクターを呼び出すため、現在はデフォルトのものを呼び出します。これを作るために

public class intNode

{

   public intNode()
   {whatever you want when object is created}

}
于 2013-08-12T22:55:37.230 に答える
0

クラスが同じパッケージに含まれていないようです。各ファイルの先頭には、次のようなパッケージ情報を含む行が必要です。

package mypack;

同じパッケージ内のクラスは、互いのパブリック フィールドとメソッドにアクセスできます。注: コードを javac でコンパイルする場合、クラスがパッケージ化されると、コンパイル コマンドが若干異なります。Java のパッケージについて詳しく読んでください。これはおそらくエラーを修正するために必要なものです。

新しい情報の更新:

intNode から fmt にアクセスするには、この変数を main メソッドの外で宣言する必要があります。それでも fmt を main メソッド内で初期化する場合は、次のようになります。

public class GradeSorter{

    public static DecimalFormat fmt;

    public static void main(String[] args) throws IOException {

        fmt = new DecimalFormat("0.000");
    (...)

intNode から fmt にアクセスするには:

GradeSorter.fmt;

これは GradeSorter クラスにバインドされた静的変数であるためです。したがって、文字列式は次のようになります

result += "The average of these grades is : " + GradeSorter.fmt.format(average);
result += "The standard deviation of these grades is: " + GradeSorter.fmt.format(deviation);

また、String メソッド (toString()、frequency()) に return ステートメントがないことに注意してください。

フォーマット自体については、Java コードには多くの標準が設定されており (メソッド名は thisIsMyMethod(); のように記述され、クラスは ThisIsMyClass のように記述されます)、一般的にエレガントで読みやすいコードを記述するための多くの標準 (集計、ブレースなど) があります。 .) インターネット (そして本!) のリソースは、(再) 発見されるのを待っています。また、Java 自体については、一般的なフィールドとメソッド、アクセス修飾子、クラスとオブジェクトの違い (なぜ静的なのですか?)、および一般的なオブジェクト指向プログラミングについてもっと勉強する必要があります。

于 2013-08-12T22:57:37.563 に答える