数字转换

 问题:比如外面输入1234输出一千二百三十四,(当然外面可以随便输入什么数字)

答案:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class NumberOutput {

   
public static void main(String[] args) throws IOException {
        InputStreamReader isr
= new InputStreamReader(System.in);
        BufferedReader bfr
= new BufferedReader(isr);
        String input
= bfr.readLine();
       
int number = 0;
       
try {
            number
= Integer.parseInt(input);
        }
catch (NumberFormatException e) {
            System.out.println(
"数字格式错误");
            System.exit(
1);
        }
       
int[] intArr = new int[20];
        String[] strArr
= new String[20];
       
int i = 0;
       
while (number > 0) {
            intArr[i]
= number % 10;
            i
++;
            number
/= 10;
        }

        StringBuffer buf
= new StringBuffer();
       
for (int j = intArr.length - 1; j >= 0; j--) {

           
if (intArr[j] != 0) {
                buf.append(getChinese(intArr[j]));
                buf.append(getPos(j));
            }
        }
        System.out.println(buf);
    }

   
public static String getChinese(int i) {
       
switch (i) {
       
case 0:
           
return "";
       
case 1:
           
return "";
       
case 2:
           
return "";
       
case 3:
           
return "";
       
case 4:
           
return "";
       
case 5:
           
return "";
       
case 6:
           
return "";
       
case 7:
           
return "";
       
case 8:
           
return "";
       
case 9:
           
return "";
       
default:
           
return "";
        }
    }

   
public static String getPos(int i) {
       
switch (i) {
       
case 0:
           
return "";
       
case 1:
           
return "";
       
case 2:
           
return "";
       
case 3:
           
return "";
       
case 4:
           
return "";
       
case 5:
           
return "十万";
       
case 6:
           
return "百万";
       
case 7:
           
return "千万";
       
case 8:
           
return "亿";
       
case 9:
           
return "十亿";
       
default:
           
return "";
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值