该题我通过字符串变为整型数据进行判断。值得注意的一点是,题目说的“端点时间”包括过了12:00笨钟也不会敲。
题目要求如下:
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。
输入格式:
输入第一行按照hh:mm
的格式给出当前时间。其中hh
是小时,在00到23之间;mm
是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang
。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中hh:mm
是输入的时间。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String time = sc.nextLine();
int hour = Integer.parseInt(time.substring(0,1))*10+Integer.parseInt(time.substring(1,2));
int minute = Integer.parseInt(time.substring(3,4))*10+Integer.parseInt(time.substring(4,5));
if(hour <= 12 ){
System.out.printf("Only %02d:%02d. Too early to Dang.",hour,minute);
return;
}
else{
for (int i = 0; i < hour%12; i++) {
System.out.print("Dang");
}
if(minute != 0){
System.out.print("Dang");
}
}
}
}