黑马程序员技术交流社区

标题: 题目二: 从键盘接受一个数字,列出该数字的中文表示格式 [打印本页]

作者: 逍遥才子121    时间: 2015-5-3 19:15
标题: 题目二: 从键盘接受一个数字,列出该数字的中文表示格式
题目二: 从键盘接受一个数字,列出该数字的中文表示格式
              例如: 键盘输入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);       //换行打印方法
        }       
}
这是我的方法,基本可以实现,但是感觉有些麻烦,谁有简单的方法参考参考
作者: lshaizj    时间: 2015-5-3 19:33
学习了 赞一个
作者: 一只玉米    时间: 2015-5-3 19:45
本帖最后由 一只玉米 于 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();
                }
        }
}


作者: 雪风飞花    时间: 2015-5-3 20:04
学习了:lol
作者: fanxia_2007    时间: 2015-5-3 20:06
好样的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2