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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

import java.util.Scanner;
public class Test3 {
/*
* 第三题:    从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;
* 键盘输入3103,打印出三一零三
*  @author
* */
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
       Scanner sc= new Scanner(System.in);//接收键盘输入
       String s=sc.next();//将从键盘的到的字符转换成字符串
       String a[]={"零","一","二","三","四","五","六","七","八","九"};//创建列表
        for(int i=0;i<s.length();i++){  //使用for循环遍历   
            int x=s.charAt(i);
            if((x-48)<0||(x-48)>9) //判断输入的字符是否为数组,否则抛出异常
                throw new RuntimeException( "输入的不是数字!!");
            System.out.print(a[x-48]); // 如果是数字则打出相应数字的汉字
        }
    }

}
/*方法2
用双列集合
public static void intParse() {
        //接收键盘输入
        Scanner sc = new Scanner(System.in);
        //把键盘输入的字符串变成字符数组
        char [] keys = sc.nextLine().toCharArray();
        //创建双列集合map,让输入的字符与汉字大写相关联,用来查表。
        Map<Character,String> parsevalue =
                        new HashMap<Character,String>();
        //向集合传入元素
        parsevalue.put('0', "零");
        parsevalue.put('1', "一");
        parsevalue.put('2', "二");
        parsevalue.put('3', "三");
        parsevalue.put('4', "四");
        parsevalue.put('5', "五");
        parsevalue.put('6', "六");
        parsevalue.put('7', "七");
        parsevalue.put('8', "八");
        parsevalue.put('9', "九");
        //遍历char数组
        for(char key: keys){
                //判断输入的是否为数字,如果不为数字则抛出异常结束程序
                if(key<'0'||key>'9')
                        throw new RuntimeException("请输入数字");
                //通过key打印出对应的汉字
                else
                        System.out.print(parsevalue.get(key));
        }
}*/


0 个回复

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