黑马程序员技术交流社区

标题: 键盘输入123, 打印出一二三; [打印本页]

作者: 洪伟    时间: 2015-6-20 11:00
标题: 键盘输入123, 打印出一二三;
  1. import java.util.Scanner;

  2. /**
  3. *
  4. * 从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123, 打印出一二三;键盘输入3103,打印出三一零三。
  5. *
  6. * @author wh
  7. *
  8. */

  9. public class Test2 {

  10.         public static void main(String[] args) {
  11.                 Scanner s = new Scanner(System.in);//获取键盘输入
  12.                 String b = null;//将输入的数字转成字符串
  13.                 String s2="";//结果
  14.                 String[] sl = new String[10];//每个元素为一位数的汉字
  15.                 if (s.hasNextInt()) {
  16.                         b = s.next();
  17.                         for (int i = 0; i < b.length(); i++) {
  18.                                 char c = b.charAt(i);//获取每一位上的数字字符
  19.                                 switch (c) {//将获取的字符匹配转换
  20.                                 case '0':
  21.                                         sl[i] = "零";
  22.                                         break;
  23.                                 case '1':
  24.                                         sl[i] = "一";
  25.                                         break;
  26.                                 case '2':
  27.                                         sl[i] = "二";
  28.                                         break;
  29.                                 case '3':
  30.                                         sl[i] = "三";
  31.                                         break;
  32.                                 case '4':
  33.                                         sl[i] = "四";
  34.                                         break;
  35.                                 case '5':
  36.                                         sl[i] = "五";
  37.                                         break;
  38.                                 case '6':
  39.                                         sl[i] = "六";
  40.                                         break;
  41.                                 case '7':
  42.                                         sl[i] = "七";
  43.                                         break;
  44.                                 case '8':
  45.                                         sl[i] = "八";
  46.                                         break;
  47.                                 case '9':
  48.                                         sl[i] = "九";
  49.                                         break;

  50.                                 default:
  51.                                         break;
  52.                                 }
  53.                         }
  54.                 } else {
  55.                         System.out.println("请输入整数");
  56.                 }
  57.           for(String s1:sl)//处理结果
  58.                   if(s1!=""&&s1!=null)
  59.                    s2 += s1;
  60.                   System.out.print(s2);//打印
  61.         }

  62. }
复制代码

作者: g552092947    时间: 2015-6-20 11:24
受教了谢谢  
作者: guohaichang    时间: 2015-6-20 11:31
建议用码表形式,这种代码,写这么长,真是难受。String table[] = {"零","一","二","三",……}这个样子的
作者: 洪伟    时间: 2015-6-20 11:36
guohaichang 发表于 2015-6-20 11:31
建议用码表形式,这种代码,写这么长,真是难受。String table[] = {"零","一","二","三",……}这个样子的 ...

没想到啊,thanks




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