题解 | #学英语#

学英语

https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc

import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Scanner;

public class Main {

static String[] num1=new String[]{"zero","one","two","three","four","five","six", "seven","eight","nine","ten","eleven","twelve", "thirteen","fourteen","fifteen","sixteen", "seventeen","eighteen","nineteen"};

static String[] num2=new String[] {"","","twenty","thirty","forty","fifty","sixty", "seventy","eighty","ninety"};

public static String transIn100(int num) { StringBuilder sb = new StringBuilder(); if(num>0 && num<20) { sb.append(num1[num]+" "); }else { sb.append(num2[num/10]+" "); if(num%10!=0) sb.append(num1[num%10]+" ");

   }
   return sb.toString();

}

public static String transIn1000(int num) { StringBuilder sb = new StringBuilder(); if(num>=100) { sb.append(transIn100(num/100)); sb.append("hundred "); if(num%100!=0) { sb.append("and "); } } sb.append(transIn100(num%100)); return sb.toString();

}

public static void main(String[] args) {
	
	// TODO Auto-generated method stub
    Scanner scan = new Scanner(System.in);
    long longVal =  scan.nextLong();
    
    StringBuilder sb =new StringBuilder();
    int resBil = (int) (longVal/1e9);
    if(resBil>0)
    {
    	String res = transIn1000(resBil)+"billion ";
    	sb.append(res);
    }
    
    longVal = longVal % 1000000000;
    int resMil = (int) (longVal/1000000);
    if(resMil>0)
    {
    	String res = transIn1000(resMil)+"million ";
    	sb.append(res);
    }
    
    longVal = longVal % 1000000;
    int resThousand = (int) (longVal/1000);
    if(resThousand>0)
    {
    	String res = transIn1000(resThousand)+"thousand ";
    	sb.append(res);
    }
    
    longVal = longVal % 1000;
    if(longVal>0)
    {
    	String res = transIn1000((int)longVal);
    	sb.append(res);
    }
    
    System.out.println(sb.toString().trim());
    
    

}

}

全部评论

相关推荐

给🐭🐭个面试机会吧:嘿,mvbatis
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务