• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sleepメソッドを呼び出すには?)

JAVAのプログラムでsleepメソッドを呼び出す方法

このQ&Aのポイント
  • ArrayList<Character>の各要素に対してsleepメソッドを呼び出す方法を教えてください。
  • c.sleep();と打つとエラーになる理由を教えてください。
  • sleepメソッドは呼び出せないのでしょうか?ご教授願います。

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

  • ベストアンサー
回答No.2

> sleepメソッドは呼び出せないのでしょうか? (Thread やら、Runnable やらをインスタス化する必要もなく)なぜだかスリープを呼び出すのは簡単ですが「try - catch」で囲う必要があります(次の通りです)。 try { Thread.sleep(100); // ←この数字はミリ秒 } catch (InterruptedException e) { e.printStackTrace(); } もしイベントなどから強制的に sleep を解除したい場合は、インスタス化された Thread から「interrupt()」メソッドを呼び出してやる必要があります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.6

#1です。 #1で私が「呼び出せない」と書いてるのは「ArrayList<Character>の各要素に対してsleepメソッドを呼び出したい」を「ArrayList<Character>の各要素のsleepメソッドを呼び出したい」と読み取ったからです。 各要素毎にThreadのsleepメソッドを呼び出したいという事であれば、#2の方の書かれているようにThread.sleep(スリープさせたいミリ秒)で呼び出せます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

補足(3)。 Java を勉強していくなら、遅かれ早かれ Thread の作成が課題になるでしょう、いずれスレッド・セーフとか排他制御(Synchronize)とかも勉強が必要になるでしょう(下記参照)。 今は理解できなくても気長に勉強していけば良いと思います(継続は力です、頑張って!)。 http://www.ne.jp/asahi/hishidama/home/tech/java/thread.html http://www.javadrive.jp/applet/thread/index3.html

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

申し訳ございません、少々 文章が変でした。 補足(2)です。 > この場合、try ブロック内の「Thread.sleep(100)」で待機中の場合に「interrupt()」メソッドが実行されると InterruptedException が発生し、この「Thread.sleep(100)」は強制的にキャンセルされ、処理が catch ブロックに移行します 「interrupt()」メソッドが実行されると InterruptedException が発生し、この場合 try ブロック内の「Thread.sleep(100)」で待機中なら、この「Thread.sleep(100)」は強制的にキャンセルされ、処理が catch ブロックに移行します

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

補足です。 > } 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% (1619/5653)
回答No.1

Characterがjava.lang.Characterの事なのでしたらインスタンスメソッドにsleep()はありませんから呼び出しようがないです(クラスメソッドにもないけど)。 http://docs.oracle.com/javase/jp/8/docs/api/java/lang/Character.html

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コレクションクラスについて

    ●下記のコードについて質問があります import java.util.*; public class Test { public static void main(String args[]) { ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); list.add(new ObjectOne()); list.add(new ObjectOne()); list.add(new ObjectOne()); Collections.sort(list); } } class ObjectOne { private int x = 0; private int y = 0; } このソースをコンパイルすると、 シンボル: メソッド sort(java.util.ArrayList<ObjectOne>) 場所 : java.util.Collections の クラス Collections.sort(list); と、エラーが表示されてしまいます。 java.util.*をインポートしているので、上記のようなエラーはでないと 思うのですが、うまくいかないです。おそらく、ObjectOneクラスで 何か処理漏れが起きているのかもしれませんが、エラーとなる原因を 特定することができません。 エラーとなる原因と解消する手立てを教えていただければと思っております。 宜しくお願い致します。 「追記」 ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); の<ObjectOne>を消せばエラーはなくなりますが、 <ObjectOne>を消さない方針で考えがあればと思っております。

  • trim()メソッドの使用方法とキャストの仕方について

    こんばんは、今回はtrim()メソッドの使用方法とキャストの方法についてお伺い致します。 trimメソッドを使用して文字列の前後の空白を削除したいのですが、 通常 String str = " 「こんにちは」"; str = str.trim(); とコーディングしコンパイルして表示するとちゃんと「こんにちは」となるのすですが、これが ArrayList list = new ArrayList(); BufferedReader br= new BufferedReader(new FileReader(Test.txt); while((str = br.readLine()) !=null){ str = str.trim(); list.add(str); } br.close(); とコーディングしコンパイルは通るのですが、 「こんにちは」のままで"「"の前にある空白が削除されてません。 私なりに「型」の違いでが原因ではないかと思い、java.io.ArrayList型からjava.lang.String型へキャストしようとしているのですが、コンパイルエラーが出てしまします。 プログラムコードは ArrayList list = new ArrayList(); String s; s = (String)list; としています。 エラー内容は ScheduleControlCall.java:142: 変換できない型 出現: java.util.ArrayList 要求: java.lang.String s = (String)list; ^ エラー 1 個 となっています。 度々ですが、ご指導お願い致します。

    • ベストアンサー
    • Java
  • ArrayListのcloneメソッド

    お世話になります。 ArrayListのcloneメソッドなんですが、API上は「ArrayList のインスタンスのシャローコピーを返します。要素自体はコピーされません。 」と記載がありますが、 「ディープコピー」をしているような感じがして、なぜ「シャローコピー」と言っているのか、教えて欲しいです。 しかも、要素自体もコピーされているような…。 自分の理解では、 シャローコピー:コピー元、コピー先で同じオブジェクトを参照する ディープコピー:コピー元、コピー先で違うオブジェクトを参照する 試したソースは以下です。 --------------- import java.util.ArrayList; public class Test { public static void main(String[] args) { ArrayList<String> array = new ArrayList<String>(); array.add("a"); array.add("b"); ArrayList<String> array2 = (ArrayList<String>) array.clone(); array2.add("c"); System.out.println("array:" + array); System.out.println("array2:" + array2); } } --------------- cloneメソッドはシャローコピーなので、array2で「c」がaddされたら、arrayも「c」が追加されて、 array:[a, b, c] array2:[a, b, c] となるはずが、 array:[a, b] array2:[a, b, c] となります。 array、array2は別々のオブジェクトを参照しているような気がします。 恐らく大きな勘違いをしているのかもしれませんが、 調べてもいまいち理解できませんでした。 お手数おかけしますが、よろしくお願い致します。

    • ベストアンサー
    • Java
  • Javaのプログラムについて教えてください!

    Genericsを使ってエラーの出ないようにするにはどうすればいいですか? import java.util.*; public class Sample{ public static void main(String[] args){ ArrayList ary = new ArrayList(); ary.add("Mac"); ary.add("Wiindows"); ary.add("Linux"); for(Object str:ary){ System.out.println((String)str); } } }

    • ベストアンサー
    • Java
  • Javaのプログラムについての質問です。

    Listインターフェースの実装クラスの自作と、作成したクラスの全メソッドを呼び出すサンプルを作成せよ、という問題です。 注意点として、java.util.Listの実装クラスは使用出来ません(ArrayListなど)。 以下は極最初期のソースになります。 import java.util.List;  public interface Interface{   int size();   boolean add();   boolean remove();   void clear();   get();   set();  } public class LocalList implements Interface{ class Main implements LocalList {  public static void main(String[] args) {     } } Listインターフェースについてネットで調べてはいるのですが、具体的な解決方法が見えてきません。 どなたか参考ソースや考え方などを教えていただけないでしょうか。よろしくお願い致します。

  • すいません。解説してください。

    いつも教えて頂き大変お世話になっております。 下記プログラムを解説して頂きたいのです。 特に最初の4行を詳しく教えて欲しいです。 何度もすみません。 ご回答のほど、宜しくお願い申し上げます。 OSはUbuntu18.04を使っています。 このプログラムは、他のプログラムも関係するのでしょうか? 色々とお手数かけます。 コンパイルしたら注意:Sample90.javaの操作は、未チェックまたは安全ではありません。とエラーメッセージが出ました。 何でも参考になります。 ご回答のほど、宜しくお願い申し上げます。 package sample; import java.util.List; import java.util.ArrayList; import java.util.LinkedList; public class Sample90 { public static void main(String[] args) { new Sample90().execute(); } public void execute() { List list = new ArrayList(); list.add("A"); list.add("B"); for (int i = 0; i < list.size(); i++) { String s = (String) list.get(i); System.out.print(s + " "); } System.out.println(""); list = new LinkedList(); list.add("A"); list.add("B"); for (int i = 0; i < list.size(); i++) { String s = (String) list.get(i); System.out.print(s + " "); } } }

  • ArrayListのgetメソッドが実行できない!

    public class ALTest{ public static void main(String[] args){ Collection<String> list = new ArrayList<String>(); list.add(One);list.add(Two);list.add(Three); //ここに記述 } } 上記「ここに記述」の箇所に以下を書いた場合の話です。  String ss = list.get(0); Collection<String>型なのでメソッドget()は実行できません。と解説にあるのですが、 理由がわかりません。Get()がstaticメソッドというわけでもなさそうだし。

    • ベストアンサー
    • Java
  • ArrayListクラスを利用するプログラムについて質問があるのですが。

    「Genericsを用いたArrayListを使用しループ処理にはiteratorを使用する。 という指定の下、 ArrayListのインスタンスを生成し次の5つの文字列を追加した後、 for文を使ってリストの中身を全て順番に画面表示したいんです。 "AA" "BB" "CC" "DD" "EE" --------------------------- import java.util.ArrayList; class TestA{ public static void main(String args[]) { ArrayList<String> array = new ArrayList<String>(); array.add("AA"); array.add("BB"); array.add("CC"); array.add("DD"); array.add("EE"); } } --------------------------- ここからよく解らないので教えていただけませんでしょうか?

    • ベストアンサー
    • Java
  • なぜ文字化けして出力されるのか?

    JAVAのプログラムを勉強しているのですが、斉藤・鈴木をHeroとしてインスタンス化してArrayListに格納して1つずつ順番に取り出して名前を表示するプログラムを作っているのですが、System.out.printlnにて出力すると、 rensyu3.pkg2.Hero@659e0bfd rensyu3.pkg2.Hero@2a139a55 と出力されてしまいます。なぜなのでしょうか? //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package rensyu3.pkg2; import java.util.ArrayList; /** * */ public class Rensyu32 { /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here Hero saitou = new Hero ("斉藤"); Hero suzuki = new Hero ("鈴木"); ArrayList<Hero>yusya=new ArrayList<Hero> (); yusya.add (suzuki); yusya.add (saitou); for (Hero hero : yusya) { System.out.println (hero); } } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package rensyu3.pkg2; /** * */ public class Hero { private String name; public Hero(String name){ this.name=name; } public String Getname(){ return this.name; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    • ベストアンサー
    • Java
  • 【ジェネリックス】コンパイルエラーが出ます。

    毎度お世話になります。 Javaの勉強をしております。 テキストのとおりに打ち込んだのですがコンパイルエラーとなり 対処方法の目処が立ちません。。。 環境: OS:Windows2000 version:Java6 ソース内容 ===ここから===================== package test01; import java.util.*; public class Gen1 { public static void main(String[] args) { List<String> list = new ArrayList<String>(); //リストに文字列を書き込む list.add("テスト1"); //リストから文字列を読み出す String s= (String)list.get(0); System.out.println(s); } } ===ここまで===================== コンパイルエラーの内容は以下のとおりです。 Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。 トークン "<" に構文エラーがあります。AssignmentOperator が無効です。 トークン "=" に構文エラーがあります。正しくは != です。 トークンに構文エラーがあります。構成の位置が間違っています。 トークン ")" に構文エラーがあります。正しくは : です。 at com.sample.nsw2008101202.WordLoveSeeker3.main(WordLoveSeeker3.java:32) ソースコードのエラー該当箇所は↓になります。 List<String> list = new ArrayList<String>();  どなたか対象方法をご存知の方、ご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • Java
診断ツールが止まった
このQ&Aのポイント
  • エプソンのEW452Aを使用中。用紙があるのに用紙がないと出て、入れ替えても動かない。
  • エプソンの診断ツールを起動したら、5%のところでフリーズしてしまい、キャンセルもできない。
  • エプソンのEW452Aで用紙の問題が発生。診断ツールの起動時にフリーズし、キャンセル不可。
回答を見る

専門家に質問してみよう