java如何返回INT类型呀?

来源:百度知道 编辑:UC知道 时间:2024/05/20 11:55:19
class test
{
public static void main(String[] args)
{
String a = "abcdefg";
System.out.println(Mid(a,2,1));
}
public static int Mid(String str,int a,int b)
{
int strRe = Integer.parseInt(str.substring(a,a+b));
return strRe;
}
}
这样编译成功,但是运行不了,我把strRe和mid的返回类型改为String就成功,但是我想它返回的是INT呀,怎么办?

会出NumberFormatException异常的。
Integer.parseInt的参数虽然是个String类型的,但是对内容有要求,必须是个能转化成数字的字符串。例如:"111","222"等。
如果字符串中出现了任何一个不能转化为数字的字符的话就会抛出异常。

NumberFormatException?
str.substring是"c",把它Integer.parseInt是什么意思?建议你参考java的API,正确理解parseInt的用途;学会自己分析,解决异常.

改为String怎么会成功?Integer.parseInt返回的是Int,用String接收Int会成功,楼主,把你的问题说清楚

一:
String a = "abcdefg"; //这个是字符串
二:
public static int Mid(String str,int a,int b)
{
int strRe = Integer.parseInt(str.substring(a,a+b));
//str.substring(a,a+b) 这个还是 字符串
//而 Integer.parseInt()方法只能把是数字型的字符串,如"123456"装成INT型
return strRe;
}
//因此,在定义a时应这样定义:
String a = "123456";
这样就没错误了...

return Integer.parseInt(strRe);

支持一楼,你出的分真多!呵呵,看来挺急迫的