
以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
public class janken extends Applet
implements Runnable, ActionListener {
private static final int EXTERNAL_BUFFER_SIZE = 128000;
Image image[] = new Image[3];
Thread t;
int index1 = 0;
int index2 = 0;
String msg = "";
String msg1 = "";
boolean state = false;
Button b1 = new Button("ぐー");
Button b2 = new Button("ちょき");
Button b3 = new Button("ぱー");
public void init(){
for(int i = 0; i<=2; i++){
img[i] = getImage(getDocumentBase(),"hanabi" + (i+1) + ".JPG");
}
add(b1);
add(b2);
add(b3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
msg1 = "結果は・・";
}
public void paint(Graphics g){
g.drawImage(img[index1],350,30,this);
g.drawImage(img[index2],695,30,this);
g.drawString("コンピューター",420,300);
g.drawString("あなた",800,300);
g.drawString(msg,630,320);
g.drawString(msg1,550,320);
}
public void start(){
state = true;
t = new Thread(this);
t.start();
}
public void run(){
while(state){
index1++;
if(index1 == 3){
index1 = 0;
}
index2++;
if(index2 == 3){
index2 = 0;
}
repaint();
try {
Thread.sleep(60);
}catch(InterruptedException e) { }
}
}
public void actionPerformed(ActionEvent e){
if(state == false) {
start();
return;
}
state = false;
if(e.getSource() == b1) {
msg = "ぐー";
index2 = 0;
}
else if(e.getSource() == b2){
msg = "ちょき";
index2 = 1;
}
else if(e.getSource() == b3){
msg = "ぱー";
index2 = 2;
}
check();
repaint();
}
public void check() {
if(index1 == index2) msg ="あいこ";
else if (index1 == 0) {
if(index2 == 2) msg="あなたの勝ち";
else msg ="あなたの負け";
}
else if(index1 == 1) {
if(index2 == 0) msg="あなたの勝ち";
else msg="あなたの負け";
}
else if(index1 == 2) {
if(index2 == 1) msg="あなたの勝ち";
else msg="あなたの負け";
}
}
}
No.2ベストアンサー
- 回答日時:
「シンボルを見つけられません。
」というエラーの下に何か表示がありませんでしたか?そこにヒントがあると考えられます。シンボルを見つけられませんといエラーが表示される主な理由は4つあります。
(1)クラス、メソッド、変数などの綴りミスや定義していない変数を使用している可能性がある。
(2)コンストラクタを呼び出すときに、newを忘れている可能性がある。(3)公開されていないメンバーを呼び出している可能性がある。
(4)必要なimport文を記述し忘れている可能性がある。
ここでのあなたのエラーは(1)番ではないでしょうか?上記ではimageとなっている変数がimgになっていますね。
これはエラー表示をよく見ることで意外と簡単に解決できるのです。
ゆっくり丁寧にエラー表示を見るように心がけることが大事ですよ。
No.1
- 回答日時:
「シンボルが見つかりません。
」これはjavacがコンパイル時にクラスやメソッドを見つけられなかった場合に表示されます。
エラーとともに見つけられなかったシンボルの行番号とシンボル名が表示されているはずですので
それを見ればどのシンボルが解決できないのかわかるはずです。
ちなみにシンボルを解決できない理由は主に下記のような原因が考えられます。
・必要なクラスがインポートされていない。
・クラスパスが通っていない。
・クラスやメソッド、変数の綴りが間違っている。
などです。
質問するとき、何かエラーが出ているならそれをすべて書き記すのが最良です。
あなたには分からなくても、分かる人には一番良く分かる情報ですので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
同一パッケージにあるクラスが見つからないエラー
Java
-
java シンボルが見つかりません エラー
Java
-
「シンボルを見つけられません」というエラーの発生原因
Java
-
4
自作のクラスファイルがインポート出来ない
Java
-
5
クラスにアクセスできません。
Java
-
6
コンパイルエラー <identifier>がありませんの意味が分かりません。
Java
-
7
コンパイル時にエラーが出てしまいます・・・
Java
-
8
正しいURL指定しているにもかかわらずJSPファイルにアクセスできず「404エラー」が発生
Java
-
9
java eclipse 型に解決できません
Java
-
10
Eclipseのアンインストールの仕方
Java
-
11
IOException ってどういうときに起こるのでしょうか?
Java
-
12
javaが文字コードの影響でコンパイルが通りません。
Java
-
13
python エラー
その他(プログラミング・Web制作)
-
14
シンボルを解決できません。 と出るんですが・・・
Java
-
15
「削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください」とコンパイルエラーになってしまいます!
Java
-
16
データベースのINT型項目にNULLはNG?
MySQL
-
17
Path型をString型へ変換する(Java)
Java
-
18
Javaで改行などが出来ないのです。
Java
-
19
ボタンの複数割り当てについて
Java
-
20
private static という変数の修飾
Java
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
シンボルが見つかりませんとい...
-
5
タグが閉じてないというエラー...
-
6
eclipseでのライブラリの追加に...
-
7
Eclipseで次のエラー箇所にジャ...
-
8
Win32コンソールアプリでnamesp...
-
9
eclipseでのsvn認証エラー回避方法
-
10
メモリリーク(?)時にSQLExce...
-
11
Buttonを配列とすることができ...
-
12
for,while文とreturn
-
13
S2daoのSqlファイルでのDBア...
-
14
Javaの配列に関するエラーに関して
-
15
getParameterについて
-
16
「java.io.FileNotFoundExcepti...
-
17
エンコード指定でコンパイルエラー
-
18
致命的: StandardServer.await:...
-
19
Javaでclass,interfaceまたはen...
-
20
JSPのコンパイル?
おすすめ情報
公式facebook
公式twitter