题目内容:
编写一个程序,要求用户输入24小时制的时间,然后输出显示12小时制的时间。
输入格式:
在一行中输入带有中间的:符号(半角的冒号)的24小时制的时间,小时和分钟均采用2位数字格式,如14:18表示14点18分, 09:06表示9点零6分。
输出格式:
在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如05:06 PM表示下午5点零6分。 注意:在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:00 PM;而夜里12点(24:00)被认为是第二天的时间,所以是12:00 AM。
输入样例:
20:09
输出样例:
08:09 PM
没什么难的,直接贴代码
代码:
import java
.util
.Scanner
;
public class Main {
public static void main(String
[] args
) {
Scanner scanner
= new Scanner(System
.in
);
String
[] tx
= scanner
.nextLine().split(":", 2);
int hour
= Integer
.parseInt(tx
[0]);
int minute
= Integer
.parseInt(tx
[1]);
String flag
;
if (hour
> 0 && hour
< 12) {
flag
= "AM";
} else if (hour
== 24 || hour
== 0) {
hour
= 12;
flag
= "AM";
} else {
flag
= "PM";
if(hour
!= 12) {
hour
%= 12;
}
}
System
.out
.println(alignItem(hour
) + ":" + alignItem(minute
) + " " + flag
);
}
public static String
alignItem(int i
) {
return String
.format("%02d", i
);
}
}