import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Disk {
public char [][]disk;
public char []assignedfile;
public Disk()
{ int i;
int j;
disk=new char[128][64];
assignedfile=new char[128];
for(i=0;i<128;i++)
{
for(j=0;j<64;i++)
disk[i][j]='0';《***********显示越界
}
disk[0][0]='1';
disk[0][1]='1';
assignedfilework();
}
public void assignedfilework()
{ int i;
int j;
for(i=0;i<1;i++)
for(j=0;j<64;j++)
{assignedfile[i*64+j]=disk[i][j];
}
}
}
java 显示数组越界可我没有越界啊 怎回事 是要配置什么吗?
答案:6 悬赏:80 手机版
解决时间 2021-03-18 10:04
- 提问者网友:雾里闻花香
- 2021-03-17 12:41
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-03-17 14:10
for(i=0;i<128;i++)
{
for(j=0;j<64;i++)
disk[i][j]='0';《***********显示越界
}
这位兄弟,你仔细看,j永远是0,并且外层循环一次,i就增加64,仔细看-->【for(j=0;j<64;i++)】
三次之后就越界了
{
for(j=0;j<64;i++)
disk[i][j]='0';《***********显示越界
}
这位兄弟,你仔细看,j永远是0,并且外层循环一次,i就增加64,仔细看-->【for(j=0;j<64;i++)】
三次之后就越界了
全部回答
- 1楼网友:醉吻情书
- 2021-03-17 17:34
拷贝进去运行正常,没显示越界
- 2楼网友:你哪知我潦倒为你
- 2021-03-17 17:20
for(j=0;j<64;i++) 这行有错 应该是j++
- 3楼网友:北方的南先生
- 2021-03-17 15:40
那不是说的很明白么? 数组下标越界,是10这个数引起的, 一楼说的没错,改成 a = n; a < array2.length-1; a++ 少循环一次就行了, 因为你最后一个循环a是10了,然后你数组长度本身就是10,换句话说最后一个元素的下标是9,那你访问下标为10的,那能不报错么?不报错成神仙了!!!!!!!!!!!!!!! 还有你这个是想写选择排序吧? 这个算法写的不怎么样,好好研究研究吧,你那min都没用上
- 4楼网友:迟山
- 2021-03-17 14:59
你确定assignedfile[i*64+j]这个不会越界?这是何种算法,i=3你的就成assignedfile[192]了
- 5楼网友:一把行者刀
- 2021-03-17 14:42
i++在循环中走了2次
当i=126时候在执行2次i++
i=128 所以有数组越界
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯