问题:输入时(hour)、分(minute)、秒(second)的一个具体时间,要求打印出它的下一秒出来(一天24小时)。
例如输入的是23时59分59秒,则输出00:00:00;例如输入17时09分59秒,则输出17:10:00。
import java.util.Scanner;
public class Time {
public static void main(String[] args) {
// 1.获取输入的时(hour)、分(minute)、秒(second)
Scanner input = new Scanner(System.in);
System.out.print("请输入小时:");
int hour = input.nextInt();
System.out.print("请输入分钟:");
int minute = input.nextInt();
System.out.print("请输入秒:");
int second = input.nextInt();
// 2.获取输入时间的下一秒
second++;
if(60 == second) {
second = 0;
minute++;
if(60 == minute) {
minute = 0;
hour++;
if(24 == hour) {
hour = 0;
}
}
}
// 3.对时分秒进行格式化操作
String hourStr = hour + "" ; // hour = 9
//String类型为引用数据类型,所以 一个操作数是int类型,另一个操作数是String类型,结果为转换为String类型
// 一个操作数 +" " 可以转换作为字符串类型
if(hour < 10) {
hourStr = "0" + hour; // hourStr = "09"
}
String minuteStr = minute + "";
if(minute < 10) {
minuteStr = "0" + minute;
}
String secondStr = second + "";
if(second < 10) {
secondStr = "0" + second;
}
// 输出当前时间的下一秒
System.out.println(hourStr + ":" + minuteStr + ":" + secondStr);
}
}
//String类型为引用数据类型,所以 一个操作数是int类型,另一个操作数是String类型,结果为转换为String类型
// 一个操作数 +" " 可以转换作为字符串类型,例如 int +" " ,int类型转换成字符串类型