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));
}
}*/
|
|