笔试 问答题01

在这里插入图片描述
一、思路(前提输入的值是符合要求的)
1、将特殊的字符如“800’提取出来放在一个字符串数组里
2、将需要转换的数字字符串以 点 分割成两个字符串数组,此时该数组下标0存取的是整数部分,1存取的是小数部分
3、遍历该数组,判断小标0和下标一,分别将下标0和下标1字符串转成整数和小数数组
4、此时的整数数组的的长度就可以判断最高位
5、根据不同的位数来匹配数字对应的汉字 再拼接

2、代码:

package Test;

public class Test {

    public static void main(String[] args) {
//        System.out.println("请输入一个万元以下的数字且小数点为两位:");
//        Scanner scan = new Scanner(System.in);
//        String str1 = scan.next();
//        System.out.println("输入的数据为:" + str1);

        String[] condition = new String[]{"9000","8000","7000","6000","5000","4000","3000","2000","1000"
                                            ,"900","800","700","600","500","400","300","200","100"
                                            ,"90","80","70","60","50","40","30","20","10"};

        String str2 = "100";
        System.out.println(str2);
        String[] split = str2.split("\\.");
        String s = split[0];
        char[] zhengshu = new char[0];
        char[] xiaoshu = new char[0];
        for (int i=0;i<split.length;i++){
            if (i==0){
                zhengshu = split[i].toCharArray();
            }
            if(i==1){
                xiaoshu =  split[i].toCharArray();
            }
        }


        if (split.length==1){//说明只有整数部分
            for (int i=0;i<condition.length;i++){
                if (condition[i]==s){//就输出最高位+园整
                    if(zhengshu.length==4) {  //则重千位开始
                        char s1 = zhengshu[0];
                        qian(s1);
                        System.out.println("圆整");
                    }if (zhengshu.length==3){
                        char s1 = zhengshu[0];
                        bai(s1);
                        System.out.println("圆整");
                    }if (zhengshu.length==2){
                        char s1 = zhengshu[0];
                        shi(s1);
                        System.out.println("圆整");
                    }if (zhengshu.length==1){
                        char s1 = zhengshu[0];
                        ge(s1);
                        System.out.println("圆整");
                    }
                }
            }

        }else if (split.length==2){

            System.out.println("拼接开始---------:");
            if(zhengshu.length==4){  //则重千位开始
                char s1 = zhengshu[0];
                char s2 = zhengshu[1];
                char s3 = zhengshu[2];
                char s4 = zhengshu[3];

                if (s2 == '0' && s3 == '0'){
                    qian(s1);
                    System.out.print("零");
                    ge(s4);
                }else if (s3=='0' && s4=='0'){
                    qian(s1);
                    bai(s2);
                }else {
                    qian(s1);
                    bai(s2);
                    shi(s3);
                    ge(s4);
                }



            }else if (zhengshu.length==3 ){//百位开始
                char s1 = zhengshu[0];
                char s2 = zhengshu[1];
                char s3 = zhengshu[2];
                if (s2 == '0' && s3 == '0'){
                    bai(s1);
                }else {
                    bai(s1);
                    shi(s2);
                    ge(s3);
                }


            }else if (zhengshu.length==2){
                char s1 = zhengshu[0];
                char s2 = zhengshu[1];
                shi(s1);
                ge(s2);


            }if (zhengshu.length==1){
                char s1 = zhengshu[0];
                ge(s1);
            }

            System.out.print("圆");


            //System.out.println("小数部分:");
            if (xiaoshu.length==2){
                char s1 = xiaoshu[0];
                char s2 = xiaoshu[1];
                jiao(s1);
                fen(s2);
            }else if (xiaoshu.length==1){
                char s1 = xiaoshu[0];
                jiao(s1);
            }


        }

    }


    //千位
    public static void qian(char qian){
        switch (qian){
            case '1' :
                System.out.print("壹仟");
                break;
            case '2' :
                System.out.print("贰仟");
                break;
            case '3' :
                System.out.print("叁仟");
                break;
            case '4' :
                System.out.print("肆仟");
                break;
            case '5' :
                System.out.print("伍仟");
                break;
            case '6' :
                System.out.print("陆仟");
                break;
            case '7' :
                System.out.print("柒仟");
                break;
            case '8' :
                System.out.print("捌仟");
                break;
            case '9' :
                System.out.print("玖仟");
                break;
        }
    }

    //百位
    public static void bai(char bai){
        switch (bai) {
            case '0':
                System.out.print("零");
                break;
            case '1':
                System.out.print("壹佰");
                break;
            case '2':
                System.out.print("贰佰");
                break;
            case '3':
                System.out.print("叁佰");
                break;
            case '4':
                System.out.print("肆佰");
                break;
            case '5':
                System.out.print("伍佰");
                break;
            case '6':
                System.out.print("陆佰");
                break;
            case '7':
                System.out.print("柒佰");
                break;
            case '8':
                System.out.print("捌佰");
                break;
            case '9':
                System.out.print("玖佰");
                break;
        }
    }

    //十位
    public static void shi(char shi){
        switch (shi) {
            case '0':
                System.out.print("零");
                break;
            case '1':
                System.out.print("壹拾");
                break;
            case '2':
                System.out.print("贰拾");
                break;
            case '3':
                System.out.print("叁拾");
                break;
            case '4':
                System.out.print("肆拾");
                break;
            case '5':
                System.out.print("伍拾");
                break;
            case '6':
                System.out.print("陆拾");
                break;
            case '7':
                System.out.print("柒拾");
                break;
            case '8':
                System.out.print("捌拾");
                break;
            case '9':
                System.out.print("玖拾");
                break;
        }
    }

    //个位
    public static void ge(char ge){
        switch (ge) {
            case '1':
                System.out.print("壹");
                break;
            case '2':
                System.out.print("贰");
                break;
            case '3':
                System.out.print("叁");
                break;
            case '4':
                System.out.print("肆");
                break;
            case '5':
                System.out.print("伍");
                break;
            case '6':
                System.out.print("陆");
                break;
            case '7':
                System.out.print("柒");
                break;
            case '8':
                System.out.print("捌");
                break;
            case '9':
                System.out.print("玖");
                break;
        }
    }

    //角
    public static void jiao(char jiao){
        switch (jiao) {
            case '0':
                break;
            case '1':
                System.out.print("壹角");
                break;
            case '2':
                System.out.print("贰角");
                break;
            case '3':
                System.out.print("叁角");
                break;
            case '4':
                System.out.print("肆角");
                break;
            case '5':
                System.out.print("伍角");
                break;
            case '6':
                System.out.print("陆角");
                break;
            case '7':
                System.out.print("柒角");
                break;
            case '8':
                System.out.print("捌角");
                break;
            case '9':
                System.out.print("玖角");
                break;
        }
    }

    //分
    public static void fen(char fen){
        switch (fen) {
            case '0':
                break;
            case '1':
                System.out.print("壹分");
                break;
            case '2':
                System.out.print("贰分");
                break;
            case '3':
                System.out.print("叁分");
                break;
            case '4':
                System.out.print("肆分");
                break;
            case '5':
                System.out.print("伍分");
                break;
            case '6':
                System.out.print("陆分");
                break;
            case '7':
                System.out.print("柒分");
                break;
            case '8':
                System.out.print("捌分");
                break;
            case '9':
                System.out.print("玖分");
                break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐睡睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值