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

本帖最后由 怪学究 于 2015-5-5 21:15 编辑

第一种方式:
package Day12;

/**
* 要求:将输入的阿拉伯数字以中文形式输出,
* 比如123输出形式为:一二三
* @author hgm
*/
import java.util.Scanner;

public class numberTest {
        public static void main(String[] args) {
                String[] arr = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一组阿拉伯数字:");
                int n = sc.nextInt();
                System.out.println("得到的中文数字为:");

                String[] rut = new String[30];
               
                int i = 0;
                for (; (n * 10) / 10 != 0; n /= 10) {
                       
                        int m = n % 10;
                       
                        rut[i++] =  arr[m];
                }
               
                for (int j = rut.length - 1; j >= 0 ; j--) {
                        if (rut[j] != null) {
                                System.out.print(rut[j]);
                        }
                }       
        }
}
第二种方式:
package Day12;
/**
* 要求:将输入的阿拉伯数字以中文形式输出,
* 比如123输出形式为:一二三
* @author hgm
*/
import java.util.Scanner;
public class numberTest {
        public static void main(String[] args) {
                String [] arr={"零","一","二","三","四","五","六","七","八","九"};
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一组阿拉伯数字:");
                int n = sc.nextInt();

                int nLength = String.valueOf(n).length();
                //建立一个数组,用于存储采集出来的数字,用于逆向遍历
                //数组长度为n的长度
                int[] number = new int[nLength];
                System.out.println("得到的中文数字为:");
                // n = 123
//                for (;  (n*10)/10 != 0; n/=10) {
                for (int i = nLength - 1;  n > 0; n/=10, i--) {
                        int m = n%10;
                        number = m;
                }
                for(int i : number)
                {
                        System.out.print(arr);
                }
        }
}
第三种方式:

/*题目二: 从键盘接受一个数字,列出该数字的中文表示格式
              例如: 键盘输入123,打印出一二三
              键盘输入3103,打印出三一零三*/
import java.io.*;
class  test2
{
        private String[] nums={"零","一","二","三","四","五","六","七","八","九"};
        public String getNum()throws IOException{
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                System.out.println("请输入一个数字:");
                return br.readLine();
                }

        public void changeNum(String s){
                char[] ch=s.toCharArray();
        for(char c:ch)
                {
                System.out.print(nums[Integer.parseInt(c+"")]);
                }
                System.out.println();
                }

        public static void main(String[] args) throws IOException
        {
                test2 t=new test2();
                String s=t.getNum();
                t.changeNum(s);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马