异常啊!来看看啊!

naxin 2003-08-20 10:03:59
简单题目;在对话框里填数字,使得输出
00
01
02………………这样的数字!直到填入的数字为止
比如填20就输出
00
01
02…………………………19
20
import java.math.*;
import javax.swing.*;
public class A
{
public static void main(String[] args)
{
String input
=JOptionPane.showInputDialog("Enter a number>=0please");
int i=0;
int x=Integer.parseInt(input);
int[] a=new int[x];
for(i=0;i<x+1;i++)
{
a[i]=i;
if(a[i]<10)
System.out.println("0"+a[i]);
else
System.out.println(a[i]);
}
}
}
好象有异常咯!麻烦大家看看啊!哪里有问题啊?
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
naxin 2003-08-20
  • 打赏
  • 举报
回复
明白了
谢谢大家了!
NewStarter 2003-08-20
  • 打赏
  • 举报
回复
是数组的溢出
在x<i+1时
a[]可以取到a[i}
但是在java中只可以取到a[i-1]
for(i=0;i<x+1;i++) 变为for(i=0;i<x;i++)
就可以了


Wnyu 2003-08-20
  • 打赏
  • 举报
回复
int[] a=new int[x];
for(i=0;i<x+1;i++)
// 改为
int[] a=new int[x +1];
for(i=0;i<x;i++)
....

whyxx 2003-08-20
  • 打赏
  • 举报
回复
数组越界了,你的数据的长度是X,就是说从0到X-1,而你的循环却是从0到X的,当然出问题了
应该是int[] a=new int[x+1];才对

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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