• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エラーも無いのにボールが動きません)

エラーも無いのにボールが動かない

このQ&Aのポイント
  • JAVA初心者の質問です。
  • 以下のコードを書いたのですが、ボールが動かない問題に直面しています。
  • エラーメッセージは表示されず、原因が分からず困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • zozy
  • ベストアンサー率60% (20/33)
回答No.3

例えばですが、 booean move = true; というような変数を宣言し、 public void run(){ while(move){ .... .... if(終了条件に関する判定){ move = false; } } } などというようにし、 また、スレッドを動作させる必要がある場合には thr = new Thread(this); thr.start(); とスレッドの再起動をしましょう。

その他の回答 (2)

  • zozy
  • ベストアンサー率60% (20/33)
回答No.2

stopメソッドを使用してはいけないのは、安全性の問題があるからです。 スレッドでは、スレッド同士の衝突を回避するために、衝突するスレッドを待ち状態にします。 こうすることでスレッドは安全に動作します。 stopメソッドを使用するとそれまで、ロックされていたのが全て解除されます。 つまり、スレッド同士の衝突が起こり放題になるわけです。 銀行の振込みシステムの例   利用者NO   0   1   2 時 |   |   | 間 |   |   | ↓ |   |   |   入金5○ 入金10×入金20× No0以外待ち   |   |   | stopを使うと   利用者NO   0   1   2 時 |   |   | 間 |   |   | ↓ |   |   |   入金5○ 入金10○入金20○ 全員同じ口座に振り込み   |   |   |    2人ほど、損する

htgotk_001
質問者

お礼

 zozyさん、回答有り難うございます    理由はわかりましたが、その場合の書き方は、thr.waitとか そのあとにStopの時間とかを書いてやるのでしょうか。  宜しくお願いします。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

(1)必要なパッケージがimportされてない。 (2)「inti」がスペルミス。 ――とか。

htgotk_001
質問者

お礼

 osamuy早速の回答有り難う御座います。    ところで、うまく動いたのですが、エラーではないのですが、thr.stop();の箇所(2箇所とも)で “メソッドstop()は型Threadで使用すべきではありません。”という警告が出ていますが、この意味が分かりません。  どのような意味でしょうか、宜しくお願いします。

関連するQ&A

専門家に質問してみよう