
ある処理を5秒おきに、n回だけ実行したいのですが、「n回」をどのように実現したらよいのかわかりません。Timerクラスのメソッドにはないようなのですが。。簡単なサンプルコードを書いてみましたので以下を元に修正方法を教えて頂けると助かります。
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) {
int n=10;
Timer timer = new Timer();
timer.schedule(new sendTask(), 5000, 5000);
}
}
class sendTask extends TimerTask {
public void run() {
System.out.println("Hello World");
}
}
No.2ベストアンサー
- 回答日時:
回数制限のある TimerTask を作ればいいと思います。
試してませんが、例えばこんな感じ。
import java.util.*;
public final class Main {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new LimitTimerTask(timer, 10), 5000, 5000);
}
}
final class LimitTimerTask extends TimerTask {
private final Timer timer;
private final int procNum;
private int count = 0;
LimitTimerTask(Timer timer, int procNum) {
this.timer = timer;
this.procNum = procNum;
}
public void run() {
System.out.println("Hello, world!");
synchronized (this) {
if (++count == procNum) {
this.cancel();
timer.cancel();
}
}
}
}
No.1
- 回答日時:
用途的にTimerを使う必要性を感じないんですが、Timerじゃなきゃダメなんですか?
public static void main(String[] args) {
for ( int i = 0 ; i < 5 ; i ++){
System.out.println("count:" + i);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
catch block
e.printStackTrace();
}
}
}
これじゃだめ?
Thread.sleep()というのがあるのですね。タイマーというキーワードで調べたので、Timerで質問してしまいましたが、こちらのほうがシンプルに出来ますね。。勉強になりました。有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java final 1 2022/06/10 22:49
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java eclipse実行ができない 2 2022/07/27 04:47
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで処理のやり方がわかりま...
-
変数を動的に利用するには?
-
Timerについて教えて下さい
-
GetterとSetterをやったのに。
-
中カッコ{}だけの記述について
-
C# DatagridviewにExcelシート...
-
(1)を表示するには
-
NoSuchMethodErrorが解決できま...
-
Socketの接続のタイムアウトを...
-
Javaでlog4jを使ってログ出力を...
-
コンパイラのバグ?それとも
-
ArrayList でスタックを
-
コンストラクタの引数の中のnew?
-
数字の大小の比較とテストメソッド
-
初心者なので教えてほしいです。
-
JSP/Servletのパラメータの受け...
-
JSPやサーブレットでSystem.out...
-
ORA-01858: 数値を指定する箇所...
-
動的配列が存在(要素が有る)か...
-
VBAで配列の計算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数を動的に利用するには?
-
Javaでlog4jを使ってログ出力を...
-
プログラミングの問題です。大...
-
中カッコ{}だけの記述について
-
System.exit()の値を取得したい
-
Java プログラム public class ...
-
JSP/Servletのパラメータの受け...
-
C# DatagridviewにExcelシート...
-
Javaで日本語の出力が文字化けする
-
コンストラクタの引数の中のnew?
-
javaで特定の文字列から特定の...
-
Socketの接続のタイムアウトを...
-
NoSuchMethodErrorが解決できま...
-
ArrayList でスタックを
-
他ファイルで定義された自作例...
-
日本語が出力できない
-
日本語が文字コードによっては...
-
randomで
-
インタフェイス実装と抽象クラ...
-
じゃんけん プログラミング
おすすめ情報