[解決済み] コンパイル不能なソースコード - Erroneous tree type エラーと cannot find symbol エラー
2022-02-18 03:10:46
質問
ソースコードがコンパイルできません - ツリータイプに誤りがあります。 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;
AsteroidFieldの中で、1つのパッケージを使うか、import AsteroidField.Asteroid;を追加する必要がありますね。
関連
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】「error: '.class' expected」の意味と修正方法について
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Javaの".class expected "について
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。