Có đồng hồ bấm giờ trong Java không? Bởi vì trên google tôi chỉ tìm thấy mã của đồng hồ bấm giờ và họ không làm việc, họ cho tôi luôn luôn 0 mili giây.Có đồng hồ bấm giờ trong Java không?
Mã này mà tôi thấy không hoạt động nhưng tôi không thấy lý do vì mã này có vẻ ổn với tôi.
public class StopWatch {
private long startTime = 0;
private long stopTime = 0;
private boolean running = false;
public void start() {
this.startTime = System.currentTimeMillis();
this.running = true;
}
public void stop() {
this.stopTime = System.currentTimeMillis();
this.running = false;
}
//elaspsed time in milliseconds
public long getElapsedTime() {
long elapsed;
if (running) {
elapsed = (System.currentTimeMillis() - startTime);
} else {
elapsed = (stopTime - startTime);
}
return elapsed;
}
//elaspsed time in seconds
public long getElapsedTimeSecs() {
long elapsed;
if (running) {
elapsed = ((System.currentTimeMillis() - startTime)/1000);
} else {
elapsed = ((stopTime - startTime)/1000);
}
return elapsed;
}
}
Và làm thế nào để bạn determin nó đã không làm việc? (có lẽ bạn đang đo lường một cái gì đó mà mất ít thời gian để thực hiện hơn so với tính chính xác của System.currentTimeMillis()) – nos
Xin vui lòng gửi mã như thế nào bạn đang thử nghiệm lớp này ... – DXTR66
Chỉ muốn lưu ý rằng đây là một trong những câu hỏi sách giáo khoa trong "Giới thiệu về Lập trình Java, Phiên bản toàn diện (ấn bản lần thứ 9)". – Sam