JAVA将阿拉伯数字转换为中文

来源:互联网 发布:java维护工程师招聘 编辑:程序博客网 时间:2024/06/05 05:04
/* * 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi输入格式:一个整数,范围是[-100000,100000]。输出格式:表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。输入样例:-30输出样例:fu san ling */package speak;import java.util.Scanner;public class Speak {    public static void main(String[] args) {        // TODO Auto-generated method stub        Scanner in = new Scanner(System.in);        int n=in.nextInt(),m,n1,i,j,q,k;        if(n < 0)        {            System.out.print("负 ");        }        n=Math.abs(n);        n1=n;        for(m=0;n!=0;m++)   //得到数字位数        {            n=(n/10);        }        for(i=m;i > 0;i--,m--)        {            for(k =1,j =m-1;j > 0;j--)            {                k=k*10;            }            q=n1/k;    //得到数字最高位            n1=n1%k;            switch(q)    //输出对应的中文            {            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;            }        }            in.close();            System.out.print("整");    }}
0 0
原创粉丝点击