package com.patience.interview.huawei;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author Green.Gee
* @date 2022/9/16 20:17
* @email green.gee.lu@gmail.com
*/
public class LearnEn {
final static int C = 3;
static String[] NUMS = {"zero", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen",
"fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"};
static String[] NUMSSHI = {"zero", "ten", "twenty", "thirty", "forty", "fifty",
"sixty", "seventy", "eighty", "ninety"};
static String[] POWER = {"", "hundred", "thousand", "million", "billion"};
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long n = in.nextLong();
String ws = (n + "");
StringBuffer buffer = new StringBuffer();
int len = ws.length();
int addLen = 0;
int count = len / C;
while(count > 0 ){
addLen += C;
String temp = ws.substring(len - 3,len);
buffer.append(temp).append(",");
len -= 3;
count--;
}
if(len != 0){
String sub = ws.substring(0,len);
buffer.append(sub).append(",");
}
String h = buffer.substring(0,buffer.lastIndexOf(","));
System.err.println(h);
String [] nums = h.split(",");
List<String> result = new ArrayList<>();
for(int i = 0; i < nums.length; i++){
if(i != 0){
result.add(POWER[i + 1]);
}
Integer line = Integer.valueOf(nums[i]);
if(line % 100 <= 20){
if(line % 100 != 0){
result.add(NUMS[line % 100]);
}
if(line / 100 != 0){
if(line % 100 != 0){
result.add("and");
}
result.add("hundred");
result.add(NUMS[line / 100]);
}
}else{
if(line % 10 != 0){
result.add(NUMS[line % 10]);
}
line /= 10;
if(line % 10 != 0){
result.add(NUMSSHI[line % 10]);
}
line /= 10;
if(line % 10 != 0){
result.add("and");
result.add("hundred");
result.add(NUMS[line % 10]);
}
}
}
for(int i = result.size() - 1; i >= 0 ; i--){
if(i == 0){
System.out.print(result.get(i));
}else{
System.out.print(result.get(i) + " ");
}
}
}
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交