ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュの文字を動かすアプレットを作成

  • mixiチェック
  • このエントリーをはてなブックマークに追加
課題で文字を動かすアプレットを作成せよとでたんですが、
ある程度やったんですが、色々いじってもエラーが出ます。
どなたか助けてください。
プログラム
import java.applet.Applet;
import java.awt.Graphics;

public class Report10 extends Applet implements Runnable
{
int num;
int x;

public void init()
{
int num;

public void init()
{
Thread th;
th = new Thread(this);
th.start();
}
public void run()
{
try{
for(int i=0; i<10; i++){
num = i;
x = i*10;
repaint();
Thread.sleep(1000);
}
}
catch(InterruptedException e){}
}
public void paint(Graphics g)
{
String str = num + "です。";
g.drawString(str, x, 10);
}
}
}

エラー
Report10.java:13: 式の開始が不正です。
public void init()
^
Report10.java:13: 式の開始が不正です。
public void init()
^
Report10.java:13: ';' がありません。
public void init()
^
Report10.java:19: 式の開始が不正です。
public void run()
^
Report10.java:19: 式の開始が不正です。
public void run()
^
Report10.java:19: ';' がありません。
public void run()
^
Report10.java:31: 式の開始が不正です。
public void paint(Graphics g)
^
Report10.java:31: 式の開始が不正です。
public void paint(Graphics g)
^
Report10.java:31: ';' がありません。
public void paint(Graphics g)
^
Report10.java:31: ';' がありません。
public void paint(Graphics g)

コメント(7)

とりあえず、以下の部分を消して、最後の閉じカッコを一つ減らせば、コンパイルは通るようになるかと。

public void init()
{
int num;
「式の開始が不正」という意味が分からないのだとすれば日本語の問題です。日本語って言うとあれなんで語彙の問題と言ったほうがいいかもしれないけど。
まぁ、慣れれば分かるようになりますよ。

Report10.java:13: 式の開始が不正です。
public void init()

メッセージから推測できるのは「式」が
public void init()
であるということです。

こいつの開始した場所がよろしくないと言ってるわけです。つまり、式を始められないところから始めているって考えればよいわけです。

では始められないところってどこかっていうと、前の式が終わってないうちに始めてしまった場合なんかです。
たとえばこんな感じ。

void fuga(){
void hoge(){
}

fugaの式が終わってないうちにhogeの式を開始することはできません。
これは文法上の問題です。
まぁ、メッセージが「式の開始が不正」ではなく「括弧の数があっていません」とすれば分かりやすそうですが

void fuga(){
void hoge(){
}
}

と書く人もいるのでそういうメッセージにするとうそになってしまう。で、結局「式の開始が不正」などという抽象的で分かりにくいメッセージになってしまったのではないかと思います。

うーん。改めて思うけどJavaのメッセージの文言って初心者にとっては不親切ですよね。せめて「13行目の時点では前の式が終わっていないので、次の式を開始することはできません」くらい書けばいいのにね。
まぁ初心者に合わせて書くと上級者にとってはウザイんですが(笑)

メッセージコードを付与してくれれば「このメッセージコードが出たときはこういう解決方法をとればいいんだよ」っていうヘルプを作りやすいんだけどなぁ。メッセージにはメッセージコードが付与されるのが当たり前って人間には、こういうメッセージってイケてないなぁと思ってしまいます。
アプレット以前な部分が多々…。
既に指摘されてますが、具体的にはセミコロン(;)抜けとか、メソッドごとの{}の付け方とかですね。

例外はありますが
・{}の使い方
・命令の後には;をつける

とかですね。
{}に関しては、タブをつけてやればだいぶわかりやすくなると思います
お返事遅くなり申し訳ございません。
無事コンパイル出来ました。
ただし文字ではなく数字が右に動きながら+1されるプログラムですが・・・
皆さんありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング