Joy to the world

とある中小企業のしがない技術者でクリスチャンな人が書く日記。実はメビウス症候群当事者だったり、統合失調症のパートナーがいたりする。

タイマー作った

職場でスマホのタイマー使うと若干後ろめたさがあるので、コマンドで動くタイマー作った。
それっぽいの探したけど、求めてるような超シンプルなものがなかったので、作った。

Javaで適当に書いたので、以下にソースを載せておく。使いたい人がいたら、勝手にコピペしてコンパイルしてください。

もしどうしても使いたいという物好きがいたら、バイナリあげるので連絡してください。

それにしても、Javaって楽チンでいいよね。C言語でこれ書こうと思ったら、もう少し頑張らないといけないと思う。

package javaapplication1;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.*;
import java.util.Timer;
import javax.swing.JOptionPane;
/**
 *
 * @author kamotti92
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int timei = 0;
        System.out.println("A Timer");
        System.out.print("Input Time(m):");
        //Scan time from Key
        InputStreamReader is = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(is);
        String time = new String();
        try {
            time = br.readLine();
        } catch (IOException ex) {
            Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
        }
        try{
                timei = Integer.parseInt(time);
        }
        catch(NumberFormatException e)
        {
            System.err.println("Input String is not Number!");
            System.exit(1);
        }
        //Start Timer
        Timer t = new Timer();
        //Get Start Time
        long st = System.currentTimeMillis();
        t.scheduleAtFixedRate(new TimerTask() {
          @Override
          public void run() {
               System.out.println((System.currentTimeMillis() - st)/60000 + " Minutes Passed");
          }
        },  0, 60000);
        try {
          Thread.sleep(timei*60000);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        t.cancel();
        System.out.println("Timer is End");
        JOptionPane.showMessageDialog(null, "時間になりました!");
    }
    
}