在netbeans环境下的JAVA倒计时器怎样做 在netbeans环境下的JAVA倒计时器怎样做 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://java.sun.com/j2se/1.4.2/docs/guide/lang/Countdown.javaimport java.util.Timer;import java.util.TimerTask;/** *Simple countdown timer demo of java.util.Timer facility. */public class Countdown { public static void main(final String args[]) { if (args.length != 1) { System.err.println("Usage: java Countdown <time in secs>"); System.exit(1); } final Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { int i = Integer.parseInt(args[0]); public void run() { System.out.println(i--); if (i< 0) timer.cancel(); } }, 0, 1000); }} 把下面的代码存为 TimerTest.java 在操作系统控制台中编译、运行后就是个倒计时了。PS:不能在 NetBeans、Eclipse 等将输出流重定向过的 IDE 中执行。import java.util.Calendar;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ScheduledThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class TimerTest { public static void main(String[] args) { ScheduledExecutorService s = new ScheduledThreadPoolExecutor(1); s.scheduleAtFixedRate(new InnerTimerTest(), 0, 1, TimeUnit.SECONDS); } private static class InnerTimerTest implements Runnable { private final static String BACKSPACES = getBackspaces(80); public void run() { System.out.print(BACKSPACES); // 输出很多个退格符 Xmas xmas = Xmas.getXmas(); System.out.printf("现在是 %tF %<tT 距 %d 年的圣诞节还有 %d 天 %d 时 %d 分 %d 秒", xmas.getCurrent(), xmas.getXmasYear(), xmas.getYearInterval(), xmas.getHourInterval(), xmas.getMinuteInterval(), xmas.getSecondInterval() ); } /** * 生成多个退格符 * @param count * @return */ private static String getBackspaces(int count) { char[] chs = new char[count]; for(int i = 0; i < count; i++) { chs[i] = '\b'; } return new String(chs); } }}class Xmas { private final static long SECOND = 1000L; private final static long MINUTE = 60L * SECOND; private final static long HOUR = 60L * MINUTE; private final static long DAY = 24L * HOUR; private int xmasYear; // 下一个圣诞节的年份 private long interval; // 与下一个圣诞节的毫秒数间隔 private Calendar current; // 当前时间 private Xmas(int xmasYear, long interval, Calendar current) { this.xmasYear = xmasYear; this.interval = interval; this.current = current; } public static Xmas getXmas() { Calendar current = Calendar.getInstance(); Calendar xmas = getNextXmasCalendar(current); int xmasYear = xmas.get(Calendar.YEAR); long interval = xmas.getTimeInMillis() - current.getTimeInMillis(); return new Xmas(xmasYear, interval, current); } /** * 获得下一个圣诞节的 Unix 纪元毫秒数 * @param current * @return */ private static Calendar getNextXmasCalendar(Calendar current) { Calendar xmas = Calendar.getInstance(); xmas.set(Calendar.MONTH, Calendar.DECEMBER); xmas.set(Calendar.DATE, 25); xmas.set(Calendar.HOUR_OF_DAY, 0); xmas.set(Calendar.MINUTE, 0); xmas.set(Calendar.SECOND, 0); xmas.set(Calendar.MILLISECOND, 0); if(current.after(xmas)) { // 如果当前时间在当前的圣诞节之后,则下一个圣诞节年份加 1 xmas.add(Calendar.YEAR, 1); } return xmas; } public int getXmasYear() { return xmasYear; } public long getInterval() { return interval; } public Calendar getCurrent() { return current; } public long getYearInterval() { return interval / DAY; } public long getHourInterval() { return (interval % DAY) / HOUR; } public long getMinuteInterval() { return (interval % HOUR) / MINUTE; } public long getSecondInterval() { return (interval % MINUTE) / SECOND + (interval > 0 ? 1 : 0); }} 数据库在其他电脑怎么使用? 为什么byte转int 需要与0xff与运算 请问关于import java.class.*的问题....... 弱弱的问一下,JAVA能搞ERP软件之类的吗? 怎么样用GUI做个跟QQ界面一样,基本登陆界面已经有,插入画面应该用什么方法 使用JAVA来开发游戏,不知道大家怎么看? 有没有JAVA 操作MYSQL或者其他数据库的类?? 我有一个c++编写的dll文件,如何在java中调用 100分求解!!! 请问:java中如何保存和调用一个对话中的值? JAVA代码编写,挺有意思的。 Java做的“MPEG图像生成器”有什么问题
import java.util.Timer;
import java.util.TimerTask;/**
*Simple countdown timer demo of java.util.Timer facility.
*/public class Countdown {
public static void main(final String args[]) {
if (args.length != 1) {
System.err.println("Usage: java Countdown <time in secs>");
System.exit(1);
}
final Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
int i = Integer.parseInt(args[0]);
public void run() {
System.out.println(i--);
if (i< 0)
timer.cancel();
}
}, 0, 1000);
}
}
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;public class TimerTest { public static void main(String[] args) {
ScheduledExecutorService s = new ScheduledThreadPoolExecutor(1);
s.scheduleAtFixedRate(new InnerTimerTest(), 0, 1, TimeUnit.SECONDS);
} private static class InnerTimerTest implements Runnable { private final static String BACKSPACES = getBackspaces(80); public void run() {
System.out.print(BACKSPACES); // 输出很多个退格符
Xmas xmas = Xmas.getXmas();
System.out.printf("现在是 %tF %<tT 距 %d 年的圣诞节还有 %d 天 %d 时 %d 分 %d 秒",
xmas.getCurrent(),
xmas.getXmasYear(),
xmas.getYearInterval(),
xmas.getHourInterval(),
xmas.getMinuteInterval(),
xmas.getSecondInterval()
);
} /**
* 生成多个退格符
* @param count
* @return
*/
private static String getBackspaces(int count) {
char[] chs = new char[count];
for(int i = 0; i < count; i++) {
chs[i] = '\b';
}
return new String(chs);
}
}
}class Xmas { private final static long SECOND = 1000L;
private final static long MINUTE = 60L * SECOND;
private final static long HOUR = 60L * MINUTE;
private final static long DAY = 24L * HOUR; private int xmasYear; // 下一个圣诞节的年份
private long interval; // 与下一个圣诞节的毫秒数间隔
private Calendar current; // 当前时间 private Xmas(int xmasYear, long interval, Calendar current) {
this.xmasYear = xmasYear;
this.interval = interval;
this.current = current;
} public static Xmas getXmas() {
Calendar current = Calendar.getInstance();
Calendar xmas = getNextXmasCalendar(current);
int xmasYear = xmas.get(Calendar.YEAR);
long interval = xmas.getTimeInMillis() - current.getTimeInMillis();
return new Xmas(xmasYear, interval, current);
} /**
* 获得下一个圣诞节的 Unix 纪元毫秒数
* @param current
* @return
*/
private static Calendar getNextXmasCalendar(Calendar current) {
Calendar xmas = Calendar.getInstance();
xmas.set(Calendar.MONTH, Calendar.DECEMBER);
xmas.set(Calendar.DATE, 25);
xmas.set(Calendar.HOUR_OF_DAY, 0);
xmas.set(Calendar.MINUTE, 0);
xmas.set(Calendar.SECOND, 0);
xmas.set(Calendar.MILLISECOND, 0);
if(current.after(xmas)) {
// 如果当前时间在当前的圣诞节之后,则下一个圣诞节年份加 1
xmas.add(Calendar.YEAR, 1);
}
return xmas;
} public int getXmasYear() {
return xmasYear;
}
public long getInterval() {
return interval;
}
public Calendar getCurrent() {
return current;
} public long getYearInterval() {
return interval / DAY;
} public long getHourInterval() {
return (interval % DAY) / HOUR;
} public long getMinuteInterval() {
return (interval % HOUR) / MINUTE;
} public long getSecondInterval() {
return (interval % MINUTE) / SECOND + (interval > 0 ? 1 : 0);
}
}