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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;
import java.util.*;
public class Test2 {
     public static void main(String[] args) {
         mothed();
      }

     public static void mothed(){
       
  
                  Scanner sc=new Scanner(System.in);
              int a=sc.nextInt();
              String s = Integer.toString(a);
         // System.out.println(s);
         
          for(int i=0;i<s.length();i++){
                  char ch=s.charAt(i);
                 // System.out.println(ch);
                  switch(ch){
                  case 0:
                          System.out.println("零");
                          break;
                  case 1:
                          System.out.println("一");
                          break;
                  case 2:
                          System.out.println("二");
                          break;
                  case 3:
                          System.out.println("三");
                          break;
                  case 4:
                          System.out.println("四");
                          break;
                  case 5:
                          System.out.println("五");
                          break;
                  case 6:
                          System.out.println("六");
                          break;
                  case 7:
                          System.out.println("七");
                          break;
                  case 8:
                          System.out.println("八");
                          break;
                  case 9:
                          System.out.println("九");
                          break;
                  default:
                          System.out.println("没有这个数字");
                          break;
                  }
          }
       }
}

3 个回复

倒序浏览
char ch=s.charAt(i);
这句话有问题:因为你下面的case都是数字,而ch是char类型的,这怎么匹配?所以打印的都是“找不到”
把ch转成int就可以了,int ch=s.charAt(i)-48;或者 int ch=Integer.parseInt(String.valueOf(s.charAt(i)));      
回复 使用道具 举报
一楼说对了
回复 使用道具 举报
金逗逗 发表于 2015-8-11 07:48
char ch=s.charAt(i);
这句话有问题:因为你下面的case都是数字,而ch是char类型的,这怎么匹配?所以打印 ...

减48是啥意思?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马