蓝桥杯——报时助手(java)
大致思路:
先输入的小时只有24,所以主要判断大于还是等于或是小于20,然后读数就行了,后输入的分钟有60,所以也要判断不小于20,且还要得出是二十、三十…,小于20的时候还要判断是否为零,为零的时候读o’clock。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int m = input.nextInt();
String[] time= {"zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"} ;
//用字符串数组存储小于20的读数
String[] time2= {" "," ","twenty","thirty","forty","fifty"} ;
//用字符串数组存储不小于20的读数
if(n>20){
int b = n%10; //除了二十以外的个位数
System.out.print("twenty"+" "+time[b]+" ");
}else if(n==20){
System.out.print("twenty"+" "); //二十而不是二十零,所以特别标识
}else{
System.out.print(time[n]+" ");
}
if(m>20){
int a = m/10; //读20、30、40、50
int b = m%10; //读个位
System.out.println(time2[a]+" "+time[b]);
}else if(m==20){ //也是一样特殊对待20
System.out.print("twenty");
}else if(m>0){ //0~19的读数
System.out.print(time[m]+" ");
}else{ //为零的时候的读数
System.out.print("o'clock");
}
}
}