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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目二: 从键盘接受一个数字,列出该数字的中文表示格式
              例如: 键盘输入123,打印出一二三
              键盘输入3103,打印出三一零三
import java.util.Scanner;
class  Test1
{
        public static void main(String[] args)
        {
                int x = 0;
                String[] str = {"零","一","二","三","四","五","六","七","八","九"};
                Scanner sc = new Scanner(System.in);
                sop("请输入一个阿拉伯数字:");
                try{
                                int n = sc.nextInt();          //得到输入int型数据
                                String s =String.valueOf(n);   //将输入的int型数据转为String类型
                                while(x<s.length())                          //进入循环
                                {
                                        char a = s.charAt(x);     //得到String数据的每一位(为char类型)
                                        System.out.print(str[Integer.parseInt(String.valueOf(a))]);  
                                                //将char类型转为String类型再转为Int类型并作为角标获得数组str中元素并打印
                                        x++;
                                }       
                        }
                catch(Exception e)
                        {
                                sop("您输入的数据类型错误,请重新运行后重新输入");//报错信息
                        }
               
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);       //换行打印方法
        }       
}
这是我的方法,基本可以实现,但是感觉有些麻烦,谁有简单的方法参考参考

4 个回复

倒序浏览
学习了 赞一个
回复 使用道具 举报
本帖最后由 一只玉米 于 2015-5-3 19:49 编辑

int n = sc.nextInt();          //得到输入int型数据
String s =String.valueOf(n);   //将输入的int型数据转为String类型

直接 String s= sc.next() ;就是OK了

我的没写异常--------
import java.util.*;

class  QuesionDemo
{
        public static void main(String[] args)
        {
                while(true)
                {
                        Scanner sc = new Scanner( System.in );           
                        System.out.print( "请输入数字 : " );   
                        String str = sc.next();  
            String[] arr=new String[]{"零","一","二","三","四","五","六","七","八","九"};

            String[] arr1=str.split ("");
                        for(int i=0;i<arr1.length;i++)
                        {
                                int index =Integer.parseInt(arr1);

                            System.out.print(arr[index]);  
                        }
             System.out.println();
                }
        }
}

回复 使用道具 举报
学习了:lol
回复 使用道具 举报
好样的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马