import java.util.*;
class 人民币转换作业
{
/*****
先判断是否为零,不是零正常for循环:新+unit+result;
为零则先判断是否消单位(只要不是万和亿都消单位),
再判断是否消零(上一个数是非零的数,且单位不是万和亿,正常输出),
(上一个数是零,或单位是万和亿,零省去)
(第一个零要消去)
否则正常输出;
******/
public static void main(String[] args)
{
//需要转换的数;
int a=210540080;
//空字符串做链接使用;
String result="";
//由于result的添加是由右向左,单位要逆一下;
String[] unit= new String[]{"千","百","十","亿","千","百","十","万","千","百","十",""};
String[] chineseword=new String[]{"零","一","二","三","四","五","六","七","八","九"};
String str = a+"";
for(int i=(str.length()-1),j=11;i>-1;i--,j--)
{
int b= str.charAt(i);
if (b==48)
{
if(j!=3&j!=7)
{
unit[j]="";
}
if(i==(str.length()-1))
{
//注意此时添加顺序由右向左;
result=unit[j]+result;
continue;
}
if(i!=(str.length()-1))
{
int aa=(str.charAt(i+1));
if( aa!=48&&j!=3&&j!=7)
{
//注意此时添加顺序由右向左;
result=chineseword[b-48]+unit[j]+result;
continue;
}
else if( aa ==48||j==3||j==7)
{
result=unit[j]+result;
continue;
}
}
}
//注意此时添加顺序十由右向左;
result=chineseword[b-48]+unit[j]+result;
}
System.out.print(result);
}
}
本文出自 “64位Tiger” 博客,请务必保留此出处http://doubletiger.blog.51cto.com/11157348/1747239
原文地址:http://doubletiger.blog.51cto.com/11157348/1747239