准备跳槽,今天去面试,被一道题给卡住了,规定时间15min,其实方法我知,就是平时java用得还不是很熟,导致这么简单的题都给难住,看来以后必须加强。回家看看书一下子就解决了
题目:实现将数字转化成大写,例如:78569转化成“柒拾捌万伍仟陆佰玖拾肆.”
编程如下:
System.out.println("please input the number");
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
String input;
input=in.readLine();
System.out.println(input);
String name="零壹贰叁肆伍陆柒捌玖";
String unit=".拾佰仟万";
try
{
StringBuffer cinput=new StringBuffer("");
if(input.length()>8)
{
System.out.println("the number is too big");
return;
}
for(int i=input.length()-1,j=0,k=1;i>=0;i--)
{
char num[]=new char[1];
num[0]=input.charAt(i);
String ss=new String(num);
int c=Integer.parseInt(ss);
cinput.insert(0,unit.charAt(j)); //插入单位
if(j==4) {j=k;k++;}
else j++;
cinput.insert(0,name.charAt(c)); //转化大写字母
}
System.out.print(cinput.toString());
}
catch(Throwable e)
{
System.out.println("error");
}