疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java面试题:手机号码转中文


 

 

  1. import java.util.Scanner;
  2. /**
  3. * @Author 徐磊(dlei)
  4. * @Email dlei0009@163.com
  5. * @Tel   18665616520
  6. * @QQ    251425887
  7. * @Version 1.0 
  8. * @From http://www.fkjava.org
  9. *
  10. */
  11. public class TelToChinese_09
  12. {
  13.         public static void main(String[] args) 
  14.         {
  15.                 // 接收用户输入的电话号码 
  16.                 // 创建一个扫描器对象 
  17.                 Scanner scan = new Scanner(System.in);
  18.                 System.out.print("请输入您的电话号码:");
  19.                 //  scan.next()开始等待接收用户的输入,直到用户输入完然后点击“enter”键
  20.                 //  将扫描的结果转换成字符串交给tel变量保存起来。
  21.                 String tel = scan.next(); 
  22.                 
  23.                 System.out.println("您输入的电话号码是:"+tel);
  24.  
  25.                 // tel = 18665616520 ---> 转成中文 
  26.                 // 定义电话号码对应的所有中文
  27.                 // 静态初始化数组放置中文字符串 
  28.                 String[] zhongWens = new String[]{"零","一","二","三","四","五","六","七","八","九"}; 

  1.                 // 需要把电话号码拆成一个一个的int类型的数字 
  2.                 // 数字本身就是它所在中文数组中的索引。
  3.                 // split:以字符串中的什么“东西”将字符串隔开成一个数组 
  4.                 // 18665616520 
  5.                 // nums = {"1" , "8" , "6" , "6" , "5" ,"6","1","6","5","2","0"};
  6.                 //     num
  7.                 String[] nums = tel.split("");
  8.                 // 定义一个字符串变量用于保存最终的中文号码 
  9.                 String rs = "";
  10.                 for(String num : nums){
  11.                         // 把字符串数组 “1” ,"8",...转换成对应数字的int形式 
  12.                         int numInt = Integer.valueOf(num);
  13.                         // 取num对应的中文 
  14.                         String zw = zhongWens[numInt]; 
  15.  
  16.                         rs+=zw; // rs = rs+zw ;
  17.                 }
  18.                 System.out.println("号码:"+rs);
  19.                 
  20.  
  21.         }
  22. }

 

【阅读原文】