06/04/2021, 14:47

Hướng dẫn chuyển đổi giờ phút giây trong Java - Bài tập Java có lời giải cơ bản đến nâng cao

Trong bài viết này chúng ta sẽ tìm hiểu về cách chuyển đổi giây thành định dạng giờ, phút, giây và ngược lại bằng Java. Ví dụ ta có x = 3600s, sau khi chuyển đổi sẽ thành 1:00:00 (tức là một giờ). Để hiểu được chương trình, các bạn cần có kiến thức cơ bản về Java. Cụ thể là về câu lệnh if, else ...

Trong bài viết này chúng ta sẽ tìm hiểu về cách chuyển đổi giây thành định dạng giờ, phút, giây và ngược lại bằng Java. Ví dụ ta có x = 3600s, sau khi chuyển đổi sẽ thành 1:00:00 (tức là một giờ).

Để hiểu được chương trình, các bạn cần có kiến thức cơ bản về Java. Cụ thể là về câu lệnh if, else cùng với đó là viết hàm, gọi hàm trong Java.

Trước khi đi vào các ví dụ, các bạn nên biết rằng: 1h = 3600s, 1p = 60s. Dựa vào đó ta sẽ viết các hàm chuyển đổi.

1. Chuyển đổi giây thành giờ - phút - giây trong Java

Chúng ta sẽ viết hàm change() với tham số truyền vào là số giây. Hàm có chức năng chuyển đổi số giây nhận vào thành định dạng giờ, phút, giây.

/* hàm đổi từ giây thành giờ phút giây */
  public static void change(int n){
    //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây
    int hour, minute, second;
    //1h = 3600s -> hour = n / 3600
    hour = n / 3600;
    //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ
    //vậy nên ta cần lấy phần dư của nó chia cho 60
    minute = n % 3660 / 60;
    //phần dư còn lại chính là số giây
    second = n % 3600 % 60;
    System.out.printf("Sau khi đổi từ %d giây: %d:%d:%d",n,hour,minute,second);
  }

Trong hàm ta cần khai báo thêm 3 biến hour, minute, second đại diện cho giờ, phút, giây. Bây giờ ta thực hiện chia số giây mà hàm nhận vào thành số giờ, số phút và số giây:

  • hour = n / 3600.
  • minute = n % 3600 / 60.
  • second = n % 3600 % 60.

Sau khi viết hàm chuyển đổi change(), bây giờ ở hàm main() ta chỉ cần yêu cầu người dùng nhập vào số giây rồi gọi hàm change() để chuyển đổi.

Full code:

import java.util.Scanner;
class Main {
  /* hàm đổi từ giây thành giờ phút giây */
  public static void change(int n){
    //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây
    int hour, minute, second;
    //1h = 3600s -> hour = n / 3600
    hour = n / 3600;
    //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ
    //vậy nên ta cần lấy phần dư của nó chia cho 60
    minute = n % 3660 / 60;
    //phần dư còn lại chính là số giây
    second = n % 3600 % 60;
    System.out.printf("Sau khi đổi từ %d giây: %d:%d:%d",n,hour,minute,second);
  }
  public static void main(String[] args) {
    //sử dụng class Scanner để lấy dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    int second;
    System.out.print("

Nhập vào số giây bạn cần đổi: ");
    second = sc.nextInt();
    //gọi hàm change() để đổi số giây vừa nhập
    change(second);

    System.out.println("
---------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai15 01 PNG

2. Chuyển đổi giờ - phút - giây thành giây trong Java

Tương tự như ví dụ ở trên, ta cũng sẽ viết hàm change() để đổi định dạng giờ, phút, giây thành số giây.

/* hàm đổi từ giây thành giờ phút giây */
public static void change(int h, int m, int s){
    //ta có 1h = 3600s, 1m = 60s
    int second = h * 3600 + m * 60 + s;
    System.out.printf("
Số giây sau khi đổi từ %d:%d:%d là: %d", h, m, s, second);
  }

Hàm change() nhận vào 3 tham số h, m, s đó chính là số giờ, phút, giây mà người dùng nhập vào.

Đơn giản số giây second = số giờ * 3600 + số phút * 60 + số giây.

Ở hàm main() chỉ cần yêu cầu người dùng nhập vào số giờ, phút, giây rồi gọi hàm change() để chuyển đổi.

Full code:

import java.util.Scanner;
class Main {
  /* hàm đổi từ giây thành giờ phút giây */
  // hàm change() nhận vào ba tham số đó chính là giờ phút giây
  public static void change(int h, int m, int s){
    //ta có 1h = 3600s, 1m = 60s
    int second = h * 3600 + m * 60 + s;
    System.out.printf("
Số giây sau khi đổi từ %d:%d:%d là: %d", h, m, s, second);
  }
  public static void main(String[] args) {
    //sử dụng class Scanner để lấy dữ liệu từ bàn phím
    Scanner sc = new Scanner(System.in);
    int second, minute, hour;
    System.out.print("

Nhập vào số giờ: ");
    hour = sc.nextInt();
    System.out.print("
Nhập vào số phút: ");
    minute = sc.nextInt();
    System.out.print("
Nhập vào số giây: ");
    second = sc.nextInt();
    //gọi hàm change() để đổi thành số giây
    change(hour, minute, second);

    System.out.println("
---------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai15 02 PNG

Như vậy là chúng ta đã tìm hiểu xong cách chuyển đổi định dạng giờ phút giây trong Java. Các bạn có thể tìm hiểu về các bài tập Java khác tại đây, chúc các bạn thành công !!!

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0