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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© csu050416 中级黑马   /  2015-5-5 21:15  /  273 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



跟大家分享一道测试题代码,希望大神给出更好的建议给我。
从键盘接受一个数字,列出该数字的中文表示格式。例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三
import java.io.*;
class Test
{
        public static void main(String[] args)
        {
                //调用函数。
                PrintNumber();       
        }
        public static void PrintNumber()
        {       
                //对Exception做try和catch处理。
                try
                {       
                        //创建字符数组。
                        String[] str = new String[]{"零","一","二","三","四","五","六","七","八","九"};
                        //键盘录入。
                        BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
                        StringBuffer sb = new StringBuffer();//创建字符缓冲区。
                        String line = null;
                       
                        while((line = bufr.readLine())!=null)
                        {       
                                if("over".equals(line))
                                        break;
                                char[] a = line.toCharArray();//将字符串转成字符数组。
                                for(int x=0;x<a.length;x++)
                                {       
                                        int y = Character.getNumericValue(a[x]);//获取字符对应的int值。
                                        //将y作为str数组的角标获取对应的元素,添加到缓冲区。
                                        sb.append(str[y]);       
                                }
                                System.out.println(sb.toString());//输出转换结果。
                                sb.delete(0,sb.length());        //每次清空缓冲区。
                        }
                        bufr.close();//关闭资源。
                }
                catch(Exception e)
                {
                                System.out.println("输入格式错误");
                }       
        }
}

0 个回复

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