例えば6秒間その処理を繰り返すという処理を書くにはどう記述すればよいでしょうか?
下記みたいに記述してもうまく動作しません。(カウントが0と出力される)
html
1 public static void main(String[] args) throws Exception { 2 3 //開始時の時刻 4 long start_point = System.currentTimeMillis(); 5 int count = 0; 6 //現在時刻と比較して6秒を超えるまで繰り返す 7 while(System.currentTimeMillis()-start_point < 6000) { 8 count++; 9 } 10 System.out.println(count); 11 }
初学者であまりよくわかっていませんが、
よろしくお願いします。
6秒間、とにかくwhile のブロック内の処理を何回も実行するという意味ではそのコードで合っているように思います。実行したPCのCPUスペックや、そのプログラムの実行に割り当てられる時間(CPU時間)によってさまざまな値のcountが出そうですが、count=0と言うのは考えづらいです。(実際、試してみましたが0ではないです)どのようなOS、実行環境、プログラム形態(サーブレットとかスレッドとか)で試しましたか?
> プログラム形態(サーブレットとかスレッドとか)
失礼しました。ご提示のコードそのままであれば単なるJavaアプリケーションですね。まったく同じコードでcount=0となるということでしょうか。
すいません。
ごちゃってるプログラム文を整理してから登校していたんですが、
投稿した文をそのまま張りなおして実行したら正常に動きました。
一応OSはWindows10でEclipse上でJavaアプリケーションとして実行していました。
回答ありがとうございます。
paiza.io で 1000 で実行しましたら 34691804 と出ました.
検証ありがとうございます。
こちらの動作環境でも正常に動作しました。
お騒がせしてすいません。
回答1件
あなたの回答
tips
プレビュー