[解決済み] コンパイル不能なソースコード - Erroneous tree type エラーと cannot find symbol エラー
2022-02-11 11:47:12
質問
ソースコードがコンパイルできません - ツリータイプに誤りがあります。 find symbol" エラー 保存時にコンパイルをオフにしたところ、cannot find symbol と表示されるようになりました。壊れていると思われる箇所は、AsteroidFields generateメソッドでAsteroid()を初期化しているところなので、初期化が間違っているような気がするのですが、原因がつかめません。
package asteroidfield;
import java.util.TreeSet;
import blobzx.BlobGUI;
import blobzx.SandBox;
import blobzx.SandBoxMode;
public class AsteroidField implements BlobGUI {
SandBox ast;
public static void main (String [] Args){
new AsteroidField();
}
public AsteroidField (){
ast = new SandBox();
ast.setSandBoxMode(SandBoxMode.FLOW);
ast.setFrameRate(15);
ast.init(this);
}
@Override
public void generate() {
// This is the line that is breaking the code.
Asteroid asteroid = new Asteroid();
}
}
package AsteroidField;
import blobzx.BlobUtils;
import blobzx.PolyBlob;
import java.awt.Point;
import java.util.Random;
public class Asteroid extends PolyBlob{
// private static Random random = new Random();
public Asteroid(int velX, int velY, double rot) {
super(-100, -100, rot);
setDelta(velX, velY);
Random sides = new Random();
Random dist = new Random();
int si = sides.nextInt(9 - 5 + 1) + 5;
int di = dist.nextInt(15 - 5 + 1) + 5;
double region = (2 * Math.PI) / si;
double []angle = new double [si];
int [] xInt = new int[si];
int [] yInt = new int[si];
double [] x = new double [si];
double [] y = new double [si];
System.out.print("m");
for(int i = 0; i < si; i++){
angle[i] = (i*region)+(Math.random()*region);
Point cord = BlobUtils.rotatePoint(di, angle[i]);
x[i] = cord.getX();
y[i] = cord.getY();
}
for (int i = 0; i > x.length; i ++){
xInt[i] = (int) x[i];
yInt[i] = (int) y[i];
}
setPolygon(xInt, yInt);
}
}
解決方法は?
2つの問題がありますね。
1) なぜなら、あなたはこう書いているからです。
Asteroid asteroid = new Asteroid();
しかし、Asteroid クラスはデフォルトのコンストラクタを持っていません (少なくとも、あなたのコードでは見当たりません)。
public Asteroid(int velX, int velY, double rot) {
2) あるいは、同じパッケージを使っておらず、AsteroidFieldでimportを使用していないためかもしれません。
package asteroidfield;
...
package AsteroidField;
1つのパッケージにするか、AsteroidFieldの中にimport AsteroidField.Asteroid;を追加するか、どちらかにした方が良いと思います。
関連
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】Javaの".class期待値"
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] Cannot find symbol" や "Cannot resolve symbol" というエラーはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み] java のクラス内のコンストラクタは、指定された型に適用できない
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件