黑马程序员技术交流社区
标题:
昨天刚做一道题不知道正不正确,请各位学长学姐朋友们给点建议!
[打印本页]
作者:
貂裘换酒
时间:
2016-6-24 10:45
标题:
昨天刚做一道题不知道正不正确,请各位学长学姐朋友们给点建议!
/**
* 第九题:金额转换,阿拉伯数字转换成中国传统形式
* @author Administrator
* 分析:利用String的replace方法实现阿拉伯数字和中文字的替换
* 分别根据输入字符的长度读取字符
*/
public class Test9 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个自然数:");
String s=scanner.next();
s=s.replace("1", "壹");
s=s.replace("2", "贰");
s=s.replace("3", "叁");
s=s.replace("4", "肆");
s=s.replace("5", "伍");
s=s.replace("6", "陆");
s=s.replace("7", "柒");
s=s.replace("8", "捌");
s=s.replace("9", "玖");
s=s.replace("0", "零");
if(s.length()==2){
s=s.substring(0,1)+"拾"+s.substring(1,s.length());
}else if(s.length()==3){
s=s.substring(0,1)+"佰"+s.substring(1,2)+"拾"+s.substring(2,s.length());
}else if(s.length()==4){
s=s.substring(0,1)+"仟"+s.substring(1,2)+"佰"+s.substring(2,3)+"拾"+s.substring(3,s.length());
}else if(s.length()==5){
s=s.substring(0,1)+"万"+s.substring(1,2)+"仟"+s.substring(2,3)+"佰"+s.substring(3, 4)+"拾"+s.substring(4,s.length());
}else if(s.length()==6){
s=s.substring(0,1)+"拾"+s.substring(1,2)+"万"
+s.substring(2,3)+"仟"+s.substring(3, 4)+"佰"
+s.substring(4,5)+"拾"+s.substring(5,s.length());
}else if(s.length()==7){
s=s.substring(0,1)+"佰"+s.substring(1,2)+"拾"
+s.substring(2,3)+"万"+s.substring(3,4)+"仟"
+s.substring(4,5)+"佰"+s.substring(5,6)+"拾"
+s.substring(6,s.length());
}else if(s.length()==8){
s=s.substring(0,1)+"仟"+s.substring(1,2)+"佰"
+s.substring(2,3)+"拾"+s.substring(3,4)+"万"
+s.substring(4,5)+"仟"+s.substring(5,6)+"佰"
+s.substring(6,7)+"拾"+s.substring(7,s.length());
}else if(s.length()==9){
s=s.substring(0,1)+"亿"+s.substring(1,2)+"仟"
+s.substring(2,3)+"佰"+s.substring(3,4)+"拾"
+s.substring(4,5)+"万"+s.substring(5,6)+"仟"
+s.substring(6,7)+"佰"+s.substring(7,8)+"拾"
+s.substring(8,s.length());
}else if(s.length()==10){
s=s.substring(0,1)+"拾"+s.substring(1,2)+"亿"
+s.substring(2,3)+"仟"+s.substring(3,4)+"佰"
+s.substring(4,5)+"拾"+s.substring(5,6)+"万"
+s.substring(6,7)+"仟"+s.substring(7,8)+"佰"
+s.substring(8,9)+"拾"+s.substring(9,s.length());
}else if(s.length()==11){
s=s.substring(0,1)+"佰"+s.substring(1,2)+"拾"
+s.substring(2,3)+"亿"+s.substring(3,4)+"仟"
+s.substring(4,5)+"佰"+s.substring(5,6)+"拾"
+s.substring(6,7)+"万"+s.substring(7,8)+"仟"
+s.substring(8,9)+"佰"+s.substring(9,10)+"拾"
+s.substring(10,s.length());
}else if(s.length()==12){
s=s.substring(0,1)+"仟"+s.substring(1,2)+"佰"
+s.substring(2,3)+"拾"+s.substring(3,4)+"亿"
+s.substring(4,5)+"仟"+s.substring(5,6)+"佰"
+s.substring(6,7)+"拾"+s.substring(7,8)+"万"
+s.substring(8,9)+"仟"+s.substring(9,10)+"佰"
+s.substring(10,11)+"拾"+s.substring(11,s.length());
}else {
System.out.println("无法读取");
}
System.out.println(s);
}
}
作者:
zhoubinjian
时间:
2016-6-24 12:00
表示看晕,,你的方法是很容易错的,用正则表达式做吧,超鸡简单。
作者:
貂裘换酒
时间:
2016-6-24 17:12
zhoubinjian 发表于 2016-6-24 12:00
表示看晕,,你的方法是很容易错的,用正则表达式做吧,超鸡简单。
哦哦!! 谢谢建议!! 我试试!!
作者:
张雨
时间:
2016-6-24 22:45
很有耐心啊 ,以看晕
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2