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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 拐子 中级黑马   /  2015-8-4 19:36  /  266 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    本人最近学到String类型,他的一些功能,方法,有个题目一直放着,一直没做出来,今天自己花了些时间做出来,虽然与网上的不一样,复杂了点,但是感觉学有所用吧,贴出来给大家分享下,哈哈
     题目: 从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三
     思路:1.创建字符串数组
            2.创建Scanner对象,键盘输入数字字符串
            3.将输入的数字字符串遍历取出,用switch进行比较
            4.输入多次,用while控制
  1. package com.itheima;
  2. //导入scanner包
  3. import java.util.Scanner;
  4. public class Test2 {
  5.         public static void main(String[] args) {
  6.                 // 定义String中文数组
  7.                 String [] str = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
  8.                 //输入多次,用while循环
  9.                 while (true) {       
  10.                         // 创建scanner对象
  11.                         Scanner sc = new Scanner(System.in);
  12.                         // 键盘录入数字字符串
  13.                         String line = sc.nextLine();
  14.                   // 遍历字符串,line.length()是字符串长度
  15.                                 for (int j = 0; j < line.length(); j++) {
  16.                                         //字符串中取每个索引的字符
  17.                                         char c =line.charAt(j);
  18.                                         //取出的数字字符比对,合适就打印
  19.                                         switch (c) {
  20.                                         case '0':
  21.                                                 System.out.print(str[0]);
  22.                                                 break;
  23.                                         case '1':
  24.                                                 System.out.print(str[1]);
  25.                                                 break;
  26.                                         case '2':
  27.                                                 System.out.print(str[2]);
  28.                                                 break;
  29.                                         case '3':
  30.                                                 System.out.print(str[3]);
  31.                                                 break;
  32.                                         case '4':
  33.                                                 System.out.print(str[4]);
  34.                                                 break;
  35.                                         case '5':
  36.                                                 System.out.print(str[5]);
  37.                                                 break;
  38.                                         case '6':
  39.                                                 System.out.print(str[6]);
  40.                                                 break;
  41.                                         case '7':
  42.                                                 System.out.print(str[7]);
  43.                                                 break;
  44.                                         case '8':
  45.                                                 System.out.print(str[8]);
  46.                                                 break;
  47.                                         case '9':
  48.                                                 System.out.print(str[9]);
  49.                                         }
  50.                         }
  51.                 }
  52.         }
  53. }
复制代码

1 个回复

倒序浏览
打印效果:
19000808
一九零零零八零八
065021
零六五零二一
13412561678
一三四一二五六一六七八
9527
九五二七
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马