Bài tập với Thread: so sánh 2 thời gian bằng nhau

Đề bài: Tạo luồng AlarmClock
Người dùng có thể đặt thời gian báo (hh:mm:ss), sau đó khi thời gian hệ thống bằng thời gian báo đó thì viết ra “****** RENG RENG RENG *******”
Anh chị cho e hỏi với em đã đưa là được thời gian chạy nhưng k biết so sánh 2 thời gian bằng nhau kiểu gì (thời gian ban đầu e nhập vào là String) Anh/chị giúp em với.em cám ơn

Nhập là chuỗi, chuyển về dạng Date bằng DateFormat. Các phương thức trong Date có sẵn để so sánh thời gian.

4 Likes

nhưng anh ơi em chỉ nhập thời gian thôi nếu chuyển sang dạng date thì cần có cả ngày tháng năm nữa chứ ạ.

thời gian mà so sanh vs hiện tại thì phải biết cả Date chứ em. còn e nhập mỗi time thì giống count down.

1 Like

nhưng với đề bài trên thì chỉ yêu cầu nhập thời gian(hh:mm:ss) thì mình lấy date ở đâu để so sánh ạ

Đọc một lát thấy diễn đạt hơi tối nghĩa bạn trẻ.

Cần làm rõ 2 trường hợp sau:

  1. Nhập 03:12:17 ngay khi trên máy chạy Java đang có giờ hệ thống là 17:42:10 giây thì cộng thêm 3 giờ 12 phút 17 giây nữa chuông sẽ reng. Tức vào tối nay lúc 20:54:27 đồng hồ sẽ reng réng rèng reng

  2. Nhập 05:10:08 thì vào lúc 5 giờ sáng 10 phút, 8 giây đồng hồ sẽ rẻng rèng reng reng

Trường hợp nào đi nữa thì:

  • Bạn cũng phải có giờ hệ thống trước tiên, bạn có hàm lấy giờ hệ thống chưa? Code đâu không thấy đưa lên?

  • Code nhập giờ đâu? Lập trình Java có GUI hay là hiển thị trên console/ terminal?

Bài toán có bắt buộc kiểu nhập liệu gì không? Nếu không thì quy đổi ra timestamp để tính toán là dễ nhất.

Có nghĩ đến việc quy đổi giờ, phút giây thành tổng số là bao nhiêu giây không? Ví dụ: 2 giờ 7 phút 8 giây = (2*3600) + (7*60) + 8 = 7628 giây? Dùng cái này cộng vào là so sánh dễ dàng.

Nếu chỉ dùng chuỗi mà thôi, cấm dùng kiểu dữ liệu nào khác thì gay go hơn, lúc này ta phải biến đổi con số thành chuỗi để so sánh (mình cũng chưa biết so sánh sao vì so sánh chuỗi thường hay theo từ điển chứ không theo trật tự số tự nhiên - anh em vào đây phụ giúp với).

7 Likes

ôi cám ơn anh ạ.đọc cmt của anh e hiểu ra rồi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?