java 蓝桥杯 基础练习 报时助手

问题描述
  给定当前的时间,请用英文的读法将它读出来。
  时间用时h和分m表示,在英文的读法中,读一个时间的方法是:
  如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。
  如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。
  时和分的读法使用的是英文数字的读法,其中0~20读作:
  0:zero, 1: one, 2:two, 3:three, 4:four, 5:five, 6:six, 7:seven, 8:eight, 9:nine, 10:ten, 11:eleven, 12:twelve, 13:thirteen, 14:fourteen, 15:fifteen, 16:sixteen, 17:seventeen, 18:eighteen, 19:nineteen, 20:twenty。
  30读作thirty,40读作forty,50读作fifty。
  对于大于20小于60的数字,首先读整十的数,然后再加上个位数。如31首先读30再加1的读法,读作“thirty one”。
  按上面的规则21:54读作“twenty one fifty four”,9:07读作“nine seven”,0:15读作“zero fifteen”。
输入格式
  输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。
输出格式
  输出时间时刻的英文。
样例输入
0 15
样例输出
zero fifteen

import java.util.Scanner;
public class Main{
public static void main(String[] args){
	Scanner sc =new Scanner(System.in);
	int h = sc.nextInt();
	int m = sc.nextInt();
	//输出的结果
	String str = "";
	
	//判断 h 是否大于20
	if(h > 20) {
		int fastNum = h/10;
		int lastNum = h%10;
		str = Say(fastNum * 10) + " " + Say(lastNum) + " ";
	}else {
		str = Say(h) + " ";
	}
	//判断m是否为 0 
	if(m == 0) {
		str = Say(h) + " o'clock";
	}else {
		//判断 m 是否大于20
		if(m > 20) {
			int fastNum = m/10;
			int lastNum = m%10;
			str += Say(fastNum * 10) + " " + Say(lastNum);
		}else {
			str += Say(m);
		}
	}
	System.out.println(str);
}

///定义一个数字转字符的方法
public static String Say(int num) {
	if(num == 0) {
		return "zero";
	}else if(num == 1) {
		return "one";
	}else if(num == 2) {
		return "two";
	}else if(num == 3) {
		return "three";
	}else if(num == 4) {
		return "four";
	}else if(num == 5) {
		return "five";
	}else if(num == 6) {
		return "six";
	}else if(num == 7) {
		return "seven";
	}else if(num == 8) {
		return "eight";
	}else if(num == 9) {
		return "nine";
	}
	else if(num == 10) {
		return "ten";
	}
	else if(num == 11) {
		return "eleven";
	}
	else if(num == 12) {
		return "twelve";
	}
	else if(num == 13) {
		return "thirteen";
	}
	else if(num == 14) {
		return "fourteen";
	}
	else if(num == 15) {
		return "fifteen";
	}
	else if(num == 16) {
		return "sixteen";
	}
	else if(num == 17) {
		return "seventeen";
	}
	else if(num == 18) {
		return "eighteen";
	}
	else if(num == 19) {
		return "nineteen";
	}
	else if(num == 20) {
		return "twenty";
	}
	else if(num == 30) {
		return "thirty";
	}
	else if(num == 40) {
		return "forty";
	}
	else if(num == 50) {
		return "fifty";
	}
	return "";
}
	
}

猜你喜欢

转载自blog.csdn.net/weixin_44517477/article/details/105465078
今日推荐