一个关于JAVA中字符转换成整数型变量的问题。

milyhj 2011-05-01 12:05:23
public static void main(String[] args) throws IOException
{
String str=" ",output=" ";
int sum=0;
int b=0;
int n;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入a的值:");
str=in.readLine();
n=Integer.parseInt(str);
for(int i=1;i<=n;i++){
output+=str;
b=Integer.parseInt(output);
sum=sum+b;
}
System.out.println(b);
}
}
程序编译无错误,运行时错误出现在 b=Integer.parseInt(output);各位大大,请问是什么原因呢?
...全文
184 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
milyhj 2011-05-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 trocp 的回复:]
楼主想做什么?
Java code

for(int i=1;i<=n;i++){
output+=str;
b=Integer.parseInt(output);
sum=sum+b;
}


不知为什么要把输入的str相加若干次,让人费解!

另外我告诉你,你的错误在于String str=" ",output=" ";
修改为String str=" ",out……
[/Quote]
不好意思,应该是输出sum的值。。。
这个意思是sum=a+aa+aaa+aaaa...几个a由a的值决定。。。
另外你说的对,我改过来后能输出到9的值了,谢谢哈,果然是溢出了。。。
milyhj 2011-05-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 milyhj 的回复:]

引用 1 楼 gentleboy2009 的回复:

output这个在哪里定义着呢

在前面啊——String str=" ",output=" ";
[/Quote]
不好意思,应该是输出sum的值。。。
这个意思是sum=a+aa+aaa+aaaa...几个a由a的值决定。。。
另外你说的对,我改过来后能输出到9的值了,谢谢哈,果然是溢出了。。。
oO临时工Oo 2011-05-01
  • 打赏
  • 举报
回复
楼主想做什么?

for(int i=1;i<=n;i++){
output+=str;
b=Integer.parseInt(output);
sum=sum+b;
}

不知为什么要把输入的str相加若干次,让人费解!

另外我告诉你,你的错误在于String str=" ",output=" ";
修改为String str=" ",output="";
但是:
输入一个12,你会把12连接12遍,也就是24位数,24位的数字,一个整形又装不下,溢出了!!!
milyhj 2011-05-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gentleboy2009 的回复:]

output这个在哪里定义着呢
[/Quote]
在前面啊——String str=" ",output=" ";
gentleboy2009 2011-05-01
  • 打赏
  • 举报
回复
output这个在哪里定义着呢

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧