个人练习(第五天)

今天用JAVA写了个比较有趣的程序,定时闹钟,代码比较长,用到了Timer类的定时作用,又另外定义了一个Nao类继承TimerTask,使蜂鸣器定时发声
以下是代码

##test
package com.icss.ch01;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Timer;

public class test {

//public enum week {  
//	每天,每周一,每周二,每周三,每周四,每周五,每周六,每周日
//}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		Nao dingding =new Nao();
	     SimpleDateFormat format =  new SimpleDateFormat("HH:mm");
	     SimpleDateFormat format1 =  new SimpleDateFormat("HH:mmE");
		Timer t = new Timer();
		System.out.println("设置闹钟时间:如06:10");
		String time = sc.next();
		Date d = null;
		System.out.println("设置时间间隔:\n1.每天 2.周一 3.周二 4.周三 5.周四 6.周五 7.周六 8.周日");
		int a = sc.nextInt();
		switch(a) {
		case 1 :
			try {
				d = format.parse(time);
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 2 :
			try {
				d = format1.parse(time+"Mon");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 3 :
			try {
				d = format1.parse(time+"Tue");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 4:
			try {
				d = format1.parse(time+"Wed");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 5:
			try {
				d = format1.parse(time+"Thu");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 6:
			try {
				d = format1.parse(time+"Fri");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 7:
			try {
				d = format1.parse(time+"Sat");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		case 8:
			try {
				d = format1.parse(time+"Sun");
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			t.scheduleAtFixedRate(dingding, d, 5000*60);
			break;
		}
		sc.close();

	}

}

##Nao
package com.icss.ch01;

import java.awt.Toolkit;
import java.util.Scanner;
import java.util.TimerTask;

public class Nao extends TimerTask {

	@Override
	public void run() {
		// TODO Auto-generated method stub
		for(long i=0;i < 100000000;i++) {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		toolkit.beep();
		}
		Scanner sc = new Scanner(System.in);
		System.out.println("按q关闭闹钟");
		String c = sc.next();
		if(c.equals("q")) {
			System.exit(0);
		}
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值