用java语言编写一个程序,要求用户输入24小时制的时间,然后输出显示12小时制的时间。
时间: 2023-09-11 15:04:35 浏览: 247
输入一个24小时制的时间,转化为12小时制
以下是使用Java编写的程序,实现将24小时制时间转换为12小时制时间:
```java
import java.util.Scanner;
public class TimeConverter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入24小时制时间(格式为hh:mm:ss):");
String time = input.nextLine();
try {
// 将输入的时间字符串转换为小时、分钟、秒数
int hour = Integer.parseInt(time.substring(0, 2));
int minute = Integer.parseInt(time.substring(3, 5));
int second = Integer.parseInt(time.substring(6));
String suffix = hour >= 12 ? "PM" : "AM"; // 判断时间是上午还是下午
hour %= 12; // 将小时数转换为12小时制
// 输出转换后的时间
System.out.printf("12小时制时间为:%02d:%02d:%02d %s", hour, minute, second, suffix);
} catch (NumberFormatException | StringIndexOutOfBoundsException e) {
System.out.println("输入的时间格式不正确!");
}
}
}
```
运行程序后,输出如下:
```
请输入24小时制时间(格式为hh:mm:ss):23:45:30
12小时制时间为:11:45:30 PM
```
在上面的程序中,我们先使用Scanner类获取用户输入的24小时制时间,并使用try-catch语句捕获可能出现的异常。然后,我们使用substring()方法将时间字符串转换为小时、分钟、秒数,并使用if语句判断时间是上午还是下午。最后,我们将小时数转换为12小时制,并使用printf()方法输出转换后的时间。注意,在输出小时、分钟、秒数时,我们使用了“%02d”格式化字符串,表示输出的数字占2个字符位,不足2位时用0填充。
阅读全文