java如何返回INT类型呀?

classtest{publicstaticvoidmain(String[]args){Stringa="abcdefg";System.out.println(Mid... 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呀,怎么办?
展开
 我来答
apollo47
2007-11-01 · TA获得超过1451个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:536万
展开全部
你改为 a = "123456789"; 就可以了。
原因很简单,Integer.parseInt 方法是将字符串型的数值转换成整型。
字符"c"转换成整数是多少?3 还是 99 ?
Integer.parseInt方法没法将"c"转换成数字,会报错。只能将类似"123"的字符串转换成123(一百二十三)。

如果你是想得到字母的Asc码,可以这样做:
String a = "abcefb";
for(int i=0; i<a.length(); i++){
int m = a.charAt(i);
System.out.println(m);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crouse000
2007-11-01 · TA获得超过381个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:237万
展开全部
一:
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";
这样就没错误了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdlb0116
2007-11-01 · TA获得超过576个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:251万
展开全部
会出NumberFormatException异常的。
Integer.parseInt的参数虽然是个String类型的,但是对内容有要求,必须是个能转化成数字的字符串。例如:"111","222"等。
如果字符串中出现了任何一个不能转化为数字的字符的话就会抛出异常。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e1b1439
2007-11-01 · TA获得超过409个赞
知道小有建树答主
回答量:1064
采纳率:0%
帮助的人:662万
展开全部
改为String怎么会成功?Integer.parseInt返回的是Int,用String接收Int会成功,楼主,把你的问题说清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sherlock1983
2007-11-01
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
NumberFormatException?
str.substring是"c",把它Integer.parseInt是什么意思?建议你参考java的API,正确理解parseInt的用途;学会自己分析,解决异常.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式