您的位置:首页 > 编程语言 > Java开发

Java笔试编程题之二 ----数字转换

2013-10-16 22:29 281 查看
题目:将键盘输入的数字转换成带单位的,例如 1234567转换成 “壹佰贰拾叁万肆仟伍佰陆拾柒”。

这个题目做着做着没思路了,。求大神指教。。。

目前我只能做到打印不带单位的:

代码如下:

 

import java.util.*;
class T
{
public static String  convert(int num){
String numRe =null;
switch(num){
case  0:
numRe="零";
break;
case 1:
numRe="壹";
break;
case  2:
numRe="贰";
break;
case 3:
numRe="叁";
break;
case 4:
numRe="肆";
break;
case 5:
numRe="伍";
break;
case  6:
numRe="陆";
break;
case 7:
numRe="柒";
break;
case  8:
numRe="捌";
break;
case 9:
numRe="玖";
break;
}
return numRe;
}
public static void main(String[] args){
Scanner sc =new Scanner(System.in);  //接收键盘输入
String numStr =sc.next();

int num =Integer.parseInt(numStr);  //转换为数字
StringBuffer sb =new StringBuffer("");
//while可以使用递归代替
int i =0;
while(num%10!=num){
int temp1 =num/10;
int temp2 =num%10;
sb.append(convert(temp2));
System.out.println("第"+(++i)+"个:"+convert(temp2));
num=temp1;
}
sb.append(convert(num));
System.out.println("第"+(++i)+"个:"+convert(num));
System.out.println("-------------不带单位的------------");
System.out.println(sb.reverse().toString());   //反转后打印出来
}
}

上面的代码的运行结果:





关于之后的单位我画了一个图,不过思路不是很清晰,不知道怎么往下玩了。。求指导:





每4个数字中就用到了【仟,佰,拾】,这个循环不知道怎么写了。。。还有就是怎么加上【万,亿】这些单位。。头疼木有思路。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: