各位大侠帮个忙,用java编程,实现阿拉伯数字与大字的转换

一串阿拉伯数字100323.56 要求你编一个程序,把他们输入进去以后变成大写的中文数字,壹拾万零叁佰贰拾叁元伍角陆分

面试中遇到的,不知道怎么做,晕S

我写的下面的代码是把你输入的浮点数转化为
大写的中文数字 至于钱你可以自己做个判断再加了
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ZhuanHuan
{
public static void main(String[] args)
{
String[] a=new String[10000];
String test1=null;
String test2=null;
char[] c1=null,c2 = null;
int i=0,num1=0,num2=0;
int[] pos=new int[1000];
System.out.println("请输入一个数: ");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
a[i]=br.readLine();
}catch(IOException e){}
pos[i]=a[i].indexOf(".");
if(pos[i]!=-1)
{
test1=a[i].substring(0,pos[i]);
test2=a[i].substring(pos[i]+1);
c1=test1.toCharArray();
c2=test2.toCharArray();
}
else
num2=0;

System.out.println(zhuanhua(c1)+zhuanhua(c2));

}

static String zhuanhua(char[] a)
{
String[] s1=new String [10];
String[] s2=new String [10];
String result ="";
for(int i=0;i<a.length;i++)
{
switch(Integer.parseInt(String.valueOf(a[i])))
{
case 0: s1[0]="零";break;
case 1: s1[1]="壹";break;
case 2: s1[2]="贰";break;
case 3: s1[3]="叁";break;
case 4: s1[4]="肆";break;
case 5: s1[5]="伍";break;
case 6: s1[6]="陆";break;
case 7: s1[7]="柒";break;
case 8: s1[8]="捌";break;
case 9: s1[9]="玖";break;
}
}
for(int j=0;j<s1.length;j++)
{
if(s1[j]!=null)
{
result+=String.valueOf(s1[j]);
}
else
continue;
}
return result;

}
}
温馨提示:答案为网友推荐,仅供参考
相似回答