黑马程序员技术交流社区
标题:
【新手问题求解,谢谢大家!】
[打印本页]
作者:
rehan
时间:
2015-2-11 22:10
标题:
【新手问题求解,谢谢大家!】
import java.io.*;
import java.util.*;
public class Test3
{
public static void main(String[] args) throws IOException
{
System.out.println("请输入一串正整数数字:");
//读取键盘输入并调用readLine()方法
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
changeMethod(str);
br.close();
}
//定义一个可以将字符串转换成中文输出的方法
public static void changeMethod(String str) throws IOException
{
//使用查表法,之前考虑过switch方法,单代码太冗长,已放弃
String[] arr={"零 ","一","二","三","四","五","六","七","八","九"};
//定义一个缓冲区以提高效率
StringBuilder sb=new StringBuilder();
//通过for循环遍历字符串中各个元素,并转换成相应的中文
for (int i = 0; i < str.length(); i++)
{
//int x= str.charAt(i)-'0';
int x=Integer.parseInt(str.charAt(i));
//判断是否是数字,对符合要求数据添加进缓冲区
if(x>=0 && x<10)
{
sb.append((arr[x]));
}
else
{
System.out.print("-");
}
}
//最后将缓冲区的数据变成字符串打印在控制台上
System.out.println(sb.toString());
}
}
复制代码
主要问题就是:我为什么不能将:
int x= str.charAt(i)-'0';改为:
int x=Integer.parseInt(str.charAt(i));??或者还有什么其他方法可以将字符转换成整数?
作者:
浮夸
时间:
2015-2-12 09:14
这还新手,完全没看懂
作者:
Oo不弃
时间:
2015-2-12 13:35
你将:int x= str.charAt(i)-'0';改为:int x=Integer.parseInt(str.charAt(i));难道会报错?
作者:
rehan
时间:
2015-2-12 14:50
Oo不弃 发表于 2015-2-12 13:35
你将:int x= str.charAt(i)-'0';改为:int x=Integer.parseInt(str.charAt(i));难道会报错?
会的,其实我已经有点头绪了,就是类型不符合的原因造成的。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2