- ベストアンサー
JAVAのプログラムでsleepメソッドを呼び出す方法
- ArrayList<Character>の各要素に対してsleepメソッドを呼び出す方法を教えてください。
- c.sleep();と打つとエラーになる理由を教えてください。
- sleepメソッドは呼び出せないのでしょうか?ご教授願います。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> sleepメソッドは呼び出せないのでしょうか? (Thread やら、Runnable やらをインスタス化する必要もなく)なぜだかスリープを呼び出すのは簡単ですが「try - catch」で囲う必要があります(次の通りです)。 try { Thread.sleep(100); // ←この数字はミリ秒 } catch (InterruptedException e) { e.printStackTrace(); } もしイベントなどから強制的に sleep を解除したい場合は、インスタス化された Thread から「interrupt()」メソッドを呼び出してやる必要があります。
その他の回答 (5)
- wormhole
- ベストアンサー率28% (1626/5665)
#1です。 #1で私が「呼び出せない」と書いてるのは「ArrayList<Character>の各要素に対してsleepメソッドを呼び出したい」を「ArrayList<Character>の各要素のsleepメソッドを呼び出したい」と読み取ったからです。 各要素毎にThreadのsleepメソッドを呼び出したいという事であれば、#2の方の書かれているようにThread.sleep(スリープさせたいミリ秒)で呼び出せます。
- amanojaku1
- ベストアンサー率54% (265/488)
補足(3)。 Java を勉強していくなら、遅かれ早かれ Thread の作成が課題になるでしょう、いずれスレッド・セーフとか排他制御(Synchronize)とかも勉強が必要になるでしょう(下記参照)。 今は理解できなくても気長に勉強していけば良いと思います(継続は力です、頑張って!)。 http://www.ne.jp/asahi/hishidama/home/tech/java/thread.html http://www.javadrive.jp/applet/thread/index3.html
- amanojaku1
- ベストアンサー率54% (265/488)
申し訳ございません、少々 文章が変でした。 補足(2)です。 > この場合、try ブロック内の「Thread.sleep(100)」で待機中の場合に「interrupt()」メソッドが実行されると InterruptedException が発生し、この「Thread.sleep(100)」は強制的にキャンセルされ、処理が catch ブロックに移行します 「interrupt()」メソッドが実行されると InterruptedException が発生し、この場合 try ブロック内の「Thread.sleep(100)」で待機中なら、この「Thread.sleep(100)」は強制的にキャンセルされ、処理が catch ブロックに移行します
- amanojaku1
- ベストアンサー率54% (265/488)
補足です。 > } catch (InterruptedException e) { > e.printStackTrace(); > } ちなみに、この「e」は変数です、catch 節により「e」は InterruptedException 型のオブジェクト変数として定義されています。 この場合、try ブロック内の「Thread.sleep(100)」で待機中の場合に「interrupt()」メソッドが実行されると InterruptedException が発生し、この「Thread.sleep(100)」は強制的にキャンセルされ、処理が catch ブロックに移行します(その時「e」には InterruptedException のインスタンスが代入されます)。 「~.printStackTrace();」は Exception のメッセージをコンソールに出力します(これは定型句のようなモノなので深く考える必要は有りません)。
- wormhole
- ベストアンサー率28% (1626/5665)
Characterがjava.lang.Characterの事なのでしたらインスタンスメソッドにsleep()はありませんから呼び出しようがないです(クラスメソッドにもないけど)。 http://docs.oracle.com/javase/jp/8/docs/api/java/lang/Character.html