A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
* 第九题:金额转换,阿拉伯数字转换成中国传统形式
* @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);
       
}

}

3 个回复

倒序浏览
zhoubinjian 来自手机 金牌黑马 2016-6-24 12:00:08
沙发
表示看晕,,你的方法是很容易错的,用正则表达式做吧,超鸡简单。
回复 使用道具 举报
zhoubinjian 发表于 2016-6-24 12:00
表示看晕,,你的方法是很容易错的,用正则表达式做吧,超鸡简单。

哦哦!!  谢谢建议!!  我试试!!
回复 使用道具 举报
很有耐心啊 ,以看晕
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马