0

クラスをコンパイルしようとすると、BlueJ IDE にこのエラーが表示されます。何が間違っているのかわかりません。

ここに画像の説明を入力

4

4 に答える 4

2

if ブロック内で変数を使用する前に、変数を初期化する必要があります。

これを試して :

double albedo=0;

それ以外の :

double albedo;

ただし、else ブロックを指定していないために条件が false を返した場合、変数は 0 のままになることに注意してください。

于 2013-05-27T11:45:11.437 に答える
2

if 句の条件が真でない場合、変数は割り当てられません。この場合、次のリターンは初期化されていない変数を参照します。

于 2013-05-27T11:42:39.167 に答える
0

ローカル変数は、使用する前に値で初期化する必要があります。次のようなもの:

  double albedo = 0.0;

ローカル変数にはデフォルトで値が割り当てられていないため、コンパイラは文句を言います。したがって、実行時にif()条件が失敗した場合、変数には値が割り当てられず、その場合、実行時に関数の呼び出し元に返される値は何ですか? したがって、デフォルト値で初期化します。

于 2013-05-27T11:41:29.050 に答える