黑马程序员技术交流社区
标题:
写个题:将字符串中的数字转成中文
[打印本页]
作者:
黎健东
时间:
2012-8-2 16:50
标题:
写个题:将字符串中的数字转成中文
任意定义一个字符串(不一定全是数字),将里边的数字转成中文
如:
String s = "012AA34BB56CC78DD9";
String str = null;
//转换代码......
System.out.println(str);
//输出结果为:零一二AA三四BB五六CC七八DD九
作者:
刘健
时间:
2012-8-2 16:58
提供思路:将字符串转存到数组中,再对数组里的数据进行操作,最后输出
作者:
hello world
时间:
2012-8-2 17:22
public class MyTest
{
public static void main(String[] args)
{
String s = "012AA34BB56CC78DD9";
String result=num2Han(s);
System.out.println(result);
}
public static String num2Han(String s)
{
char[] ch=s.toCharArray();
char[] han={'零','一','二','三','四','五','六','七','八','九'};
for(int i=0;i<ch.length;i++)
{
if(ch[i]>='0'&&ch[i]<='9')
{
int index=ch[i]-48; //提示'0'-48=0;
ch[i]=han[index];
}
}
return String.valueOf(ch);
}
}
程序运行结果:
零一二AA三四BB五六CC七八DD九
作者:
黑马黄宏强
时间:
2012-8-2 17:51
查表发就可以实现,例子如下:
public class Test {
public static void main(String[] args) {
String str = "01GDD2E34A506";
System.out.println("原来字符:"+str);
System.out.println("转换后字符为:"+ change(str));
}
//将数字转换成中文的方法
public static String change(String str) {
// 定义转换表
char[] arr = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' };
// 将字符串转换成数组
char[] strArr = str.toCharArray();
// 遍历数组,如果是数字就查表对换成中文
for (int i = 0; i < strArr.length; i++) {
if (Character.isDigit(strArr[i])) {
strArr[i] = arr[(int) (strArr[i] - '0')];
}
}
return new String(strArr);
}
}
运行结果为:
原来字符:01GDD2E34A506
转换后字符为:零一GDD二E三四A五零六
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2