⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock.java

📁 Java Op Processor java vhdl processor
💻 JAVA
字号:
package kfl;/***	A simple clock and calendar.*/public class Clock {	private static int next;	private static int s;	private static int day;	private static int year;	private static boolean leap;	private static int[] mtab;	private static int[] buf;/*	public static void main(String args[]) {		Display.line1();		for (int i=0; i<20; ++i) Display.data(' ');		Display.line2();		for (int i=0; i<20; ++i) Display.data(' ');		Clock.init();		Timer.start();		for (;;) {			if (Clock.loop()) {				Display.line1();				disp02(year/100);				disp02(year%100);				Display.data('-');				disp02(getMonth());				Display.data('-');				disp02(getDay());				Display.data(' ');				int i = s;				disp02(i/3600);				Display.data(':');				i %= 3600;				disp02(i/60);				Display.data(':');				disp02(i%60);			}			Timer.waitForNextInterval();		}	}	private static void disp02(int i) {		Display.data('0'+(i/10));		Display.data('0'+(i%10));	}*/	public static void init() {		mtab = new int[12];/*	dup_x2 fehlt		mtab[0] = mtab[2] = mtab[4] = mtab[6] = mtab[7] = mtab[9] = mtab[11] = 31;		mtab[3] = mtab[5] = mtab[8] = mtab[10] = 30;		mtab[1] = 28;*/		mtab[0] = 31;		mtab[1] = 28;		mtab[2] = 31;		mtab[3] = 30;		mtab[4] = 31;		mtab[5] = 30;		mtab[6] = 31;		mtab[7] = 31;		mtab[8] = 30;		mtab[9] = 31;		mtab[10] = 30;		mtab[11] = 31;		buf = new int[20];		setDate(2002, 01, 01);		setTime(00, 00, 00);		next = JopSys.rd(JopSys.IO_CNT)+JopSys.ONE_SECOND;	}	public static boolean loop() {		if (next-JopSys.rd(JopSys.IO_CNT) < 0) {			++s;			if (s==86400) {				s = 0;				++day;				if ((leap && day==367) || (!leap && day==366)) {					day = 1;					++year;					leap = leapYear(year);					mtab[1] = leap ? 29 : 28;				}			}			next += JopSys.ONE_SECOND;			return true;		}		return false;	}	public static boolean setDate(int y, int m, int d) {		boolean oldLeap = leap;		if (m<1 || m>12) return false;		leap = leapYear(y);		mtab[1] = leap ? 29 : 28;		if (d<1 || d>mtab[m-1]) {			leap = oldLeap;			mtab[1] = leap ? 29 : 28;			return false;		}		year = y;		day = 0;		for (int i=0; i<m-1; ++i) {			day += mtab[i];		}		day += d;		return true;	}	public static boolean setTime(int hour, int min, int sec) {		if (hour<0 || hour>23) return false;		if (min<0 || min>59) return false;		if (sec<0 || sec>59) return false;		s = hour*3600 + min*60 +sec;		return true;	}	public static int getYear() {		return year;	}	public static int getMonth() {			int m;		int d = mtab[0];		for (m=1; m<12 && d<day; ++m) {			d += mtab[m];		}		return m;	}	public static int getDay() {			int m;		int d = mtab[0];		for (m=1; m<12 && d<day; ++m) {			d += mtab[m];		}		return day-d+mtab[m-1];	}	public static int getSec() {		return s;	}	public static void getDate(int[] buf) {		int i;		buf[4] = '-';		buf[7] = '-';		buf[10] = ' ';		buf[13] = ':';		buf[16] = ':';		buf[19] = ' ';		buf[0] = '0'+year/1000;		buf[1] = '0'+year%1000/100;		buf[2] = '0'+year%100/10;		buf[3] = '0'+year%10;		i = getMonth();		buf[5] = '0'+i/10;		buf[6] = '0'+i%10;		i = getDay();		buf[8] = '0'+i/10;		buf[9] = '0'+i%10;		i = s/3600;		buf[11] = '0'+i/10;		buf[12] = '0'+i%10;		i = s%3600/60;		buf[14] = '0'+i/10;		buf[15] = '0'+i%10;		i = s%60;		buf[17] = '0'+i/10;		buf[18] = '0'+i%10;		buf[19] = ' ';	}	private static boolean leapYear(int y) {		if (y%4 == 0) {			if (y%100 == 0) {				if (y%400 == 0) {					return true;				}				return false;			}			return true;		}		return false;	}/*	public static void main(String[] args) {		init();		System.out.println(setDate(2000, 1, 1)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2000, 0, 1)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2000, 1, 31)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2000, 2, 1)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2000, 12, 31)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2000, 2, 29)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2001, 2, 29)+" "+day+" "+getMonth()+" "+getDay());		System.out.println(setDate(2001, 12, 31)+" "+day+" "+getMonth()+" "+getDay());		setDate(2000, 1, 1);		for (day=1; day<368; ++day) {			System.out.println(getYear()+"-"+getMonth()+"-"+getDay());		}		setDate(2001, 1, 1);		for (day=1; day<368; ++day) {			System.out.println(getYear()+"-"+getMonth()+"-"+getDay());		}	}*/}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -