基礎(chǔ)練習 報時助手

問題描述
  給定當前的時間,請用英文的讀法將它讀出來。
  時間用時h和分m表示,在英文的讀法中,讀一個時間的方法是:
  如果m為0,則將時讀出來,然后加上“o'clock”,如3:00讀作“three o'clock”。
  如果m不為0,則將時讀出來,然后將分讀出來,如5:30讀作“five thirty”。
  時和分的讀法使用的是英文數(shù)字的讀法,其中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的數(shù)字,首先讀整十的數(shù),然后再加上個位數(shù)。如31首先讀30再加1的讀法,讀作“thirty one”。
  按上面的規(guī)則21:54讀作“twenty one fifty four”,9:07讀作“nine seven”,0:15讀作“zero fifteen”。
輸入格式
  輸入包含兩個非負整數(shù)h和m,表示時間的時和分。非零的數(shù)字前沒有前導0。h小于24,m小于60。
輸出格式
  輸出時間時刻的英文。
樣例輸入
0 15
樣例輸出
zero fifteen

此題需要注意分鐘的判定,和十位數(shù)字讀法

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();//時
        int n = sc.nextInt();//分
        String shuchu="";
        if(n==0) {
            shuchu=zhuanhuan(m)+" "+"o'clock";
        }
        else {
            shuchu=zhuanhuan(m)+" "+zhuanhuan(n);
        }
        System.out.println(shuchu);


        
        
    }
    public static String zhuanhuan(int x) {//單個數(shù)字轉(zhuǎn)換
        String fanhui;
        if(x<60&&x<20||x%10==0) {
            switch(x) {
            case 0:
                fanhui = "zero";break;
            case 1:
                fanhui = "one";break;
            case 2:
                fanhui = "two";break;
            case 3:
                fanhui = "three";break;
            case 4:
                fanhui = "four";break;
            case 5:
                fanhui = "five";break;
            case 6:
                fanhui = "six";break;
            case 7:
                fanhui = "seven";break;
            case 8:
                fanhui = "eight";break;
            case 9:
                fanhui = "nine";break;
            case 10:
                fanhui = "ten";break;   
            case 11:
                fanhui = "eleven";break;    
            case 12:
                fanhui = "twelve";break;    
            case 13:
                fanhui = "thirteen";break;  
            case 14:
                fanhui = "fourteen";break;              
            case 15:
                fanhui = "fifteen";break;   
            case 16:
                fanhui = "sixteen";break;   
            case 17:
                fanhui = "seventeen";break; 
            case 18:
                fanhui = "eighteen";break;  
            case 19:
                fanhui = "nineteen";break;
            case 20:
                fanhui = "twenty";break;
            case 30:
                fanhui = "thirty";break;
            case 40:
                fanhui = "forty";break;
            case 50:
                fanhui = "fifty";break;
            default:
                fanhui = "";break;          
            }
        }
        else {
            fanhui=zhuanhuan((x/10)*10)+" "+zhuanhuan(x%10);
        }
        return fanhui;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. 基數(shù)詞的讀法 202讀作:two hundred(and)two 234讀作:two hundred(and...
    AsaGuo閱讀 648評論 0 0
  • 在于紅的悉心照料下,亮哥恢復的很快。沒多久亮哥就可以下床活動了,可是記憶的恢復似乎并沒有什么進步。 這些天來,于紅...
    魯郡閱讀 265評論 0 2
  • 『反思』 我總不愿把問題想的太透 即便有時明白也只愿裝作糊涂 然而我已不再是能夠繼續(xù)犯傻的年紀 黑白是非當辨則辨 ...
    QuasimodozZ閱讀 201評論 0 1

友情鏈接更多精彩內(nèi)容