| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 456 人关注过本帖
标题:越界问题
只看楼主 加入收藏
知为
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-21
收藏
 问题点数:0 回复次数:3 
越界问题

for(int j=0;j<bytes;j++)
{
if(numOfMemory[j]==0)
{
start=j;
while(numOfMemory[j]==0)
{
j++;
}
holeNum++;
System.out.println("hole "+(q++)+" start location = "+start+"size = "+j);
}
else continue;
}
我想用这段代码处理在numOfMemory数组(长度是bytes)中的连续0的段数
为什么会出现越界?
谢谢各位了
搜索更多相关主题的帖子: 越界 
2006-05-23 20:02
伯约
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-4-5
收藏
得分:0 
while(numOfMemory[j]==0)
{
j++;
}
这句可能产生越界!你应该在循环中在加一个条件j<=btyes-1

2006-05-23 22:37
知为
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-21
收藏
得分:0 
尝试过了可还是不行
我单独编了小程序
麻烦大家给我改改
这几天都
public class try1
{
public static void main(String[] args)
{
int[] qq=new int[100];
int w=0;
for(int i=0;i<100;i++)
{
qq[i]=1;
}
for(int c=0;qq[c]==1&&c<100;c++)
{
//if(qq[c]==1&&c<100)
w+=qq[c];
//if(c==100)break;
}
/*
*for(int c=0;qq[c]==1;c++)
{
if(c<100)
w+=qq[c];
if(c==100)break;//更不行
}
**/
System.out.println(w);

}
}
/*运行时出现
*如果我想表示出数组内所有值为一的个数应该怎么弄 假定该数组内可能有不是1的
* *Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100
at try1.main(try1.java:13)*/

2006-05-23 23:25
taurus850502
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-5-9
收藏
得分:0 

public class try1
{
public static void main(String[] args)
{
int[] qq = new int[100];
int sum = 0;

for (int i = 0; i < 100; i++)
{
qq[i] = 1;
}

for (int i = 0; qq[i] == 1 && i < 100; i++)
{
sum += qq[i];
}

System.out.println(sum);
}
}

/*
qq[i] == 1 出现越界问题,当i==99时顺利执行之后,i++将i累加成100,再次执行到qq[i] == 1时i越界,
建议写成 i < 100 && qq[i] == 1, 当i==100时就退出。
*/

2006-05-24 01:35
快速回复:越界问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040152 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved