黑马程序员技术交流社区
标题:
阿拉伯数字变成大写汉字 咋换不了
[打印本页]
作者:
暴走的牛奶
时间:
2015-8-10 23:52
标题:
阿拉伯数字变成大写汉字 咋换不了
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;
}
}
}
}
作者:
金逗逗
时间:
2015-8-11 07:48
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)));
作者:
fantianfei
时间:
2015-8-11 08:20
一楼说对了
作者:
暴走的牛奶
时间:
2015-8-17 00:39
金逗逗 发表于 2015-8-11 07:48
char ch=s.charAt(i);
这句话有问题:因为你下面的case都是数字,而ch是char类型的,这怎么匹配?所以打印 ...
减48是啥意思?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2