2024-11-23 10:15:42 | 我爱编程网
索引超出了数组界限解决方法:
a.connected[i] = vertices[i+1];
称之为索引i+1。这将导致一个index out of bounds exception。(在你n等于19的例子中:有效索引将是[0-18]。
你的循环将从0-18开始,但是在该行中,它将会添加一个18 + 1 = 19,这是一个无效索引)在你的循环中将条件更改为:
for (int i = 0; i<n-1; i+=2){
确保它在添加之后不会超出界限。
Vertex [] vertices = new Vertex[n]; int [] numbers = new int[n*2]; AdjacencyList[] all = new AdjacencyList [n+1];for (Vertex v : vertices){
System.out.println(v.value);
AdjacencyList a = new AdjacencyList(v);
for (int i = 0; i < n; i += 2)
{
我爱编程网
if (numbers[i] == v.value){
a.connected[i] = vertices[i+1];//array index out of bounds exception:19
else { a.connected[i] = v; }
}
all[0] = a; //add the finished adjacency list to the array
}
与n = 19我可以得到一个索引超出边界错误在代码中指出的点。我不确定我哪里会出问题,因为一切都还在19的范围内。
顶点=顶点列表[1-19],数字是一个平坦的边缘数组。
function fun1($arr){
for($i=0;$arr<cont($arr);$i++){
echo $arr[$i]." ";
if($i%3==2)
echo "<br />";
}
}
function fun12($arr){
$i=0;
foreach($arr as $key=>$value){
echo $value." ";
$i++;
if($i%2==1)
echo "<br />";
}
}
function fun3($arr){
$n=0;
for($i=0;$arr<cont($arr);$i++){
if($arr[$i]%2==0)
$n++;
}
return $n;
}
function fun4($arr){
$n=0;
foreach($arr as $key=>$value){
if($value%2==1)
$n++;
}
return $n;
}
function fun5($arr){
$n=0;
for($i=0;$arr<cont($arr);$i++){
if($arr[$i]%2==1)
$n+=$arr[$i];
}
return $n;
}
function fun6($arr){
$n=0;
foreach($arr as $key=>$value){
if($value%2==0)
$n+=$value;
}
return $n;
}
function fun7($arr){
for($i=0;$arr<cont($arr);$i++){
if($arr[$i]<7)
array_splice($arr,$i,1);
}
return $arr;
}
function fun8($arr){
$i=0;
foreach($arr as $key=>$value){
if($key=='name')
array_splice($arr,$i,1);
$i++;
}
return $arr;
}
function fun9($arr){
for($i=0;$arr<cont($arr);$i++){
if($arr[$i]%2==0)
$arr[$i]=$arr[$i]*2;
}
return $arr;
}
function fun10($arr){
for($i=0;$arr<cont($arr);$i++){
if($arr[$i]['sex']=='女')
arr[$i]['name']=zhangsan;
}
return $arr;
}
我爱编程网(https://www.52biancheng.com)小编还为大家带来php中遍历数组方法的相关内容。
php用ODBC连接SQLSERVER出错!!!!还可能是这个原因,你的系统应该是64bit的,在新建dsn要用64bit的odbc,不能用WIN7自带控制面板里面的管理工具里面的数据源添加。必须用C:\Windows\SysWOW64\odbcad32.exe来添加数据源才好用。phpodbc连接oracle,odbc_num_rows>0,但是odbc_fetch_row的时候很忙,
eclipseJava中文输出乱码是什么原因?eclipseJava中文输出乱码的原因可能是字符编码与默认的编码不符合导致的。可以尝试以下方法解决:1.修改Eclipse编码设置:点击Eclipse菜单栏的"Window",选择"Preferences";在弹出的窗口中,找到"General"->"Workspace";在右侧的"Textfileencoding"选项中选择合
php数组索引值如何重新从0开始递增对于索引数组,php还有提供了另外一个内置函数,能够重置数组索引 array_merge($arr) ,当array_merge()只传入一个参数且键名是整数,返回该数组,其键名以0开始进行重新索引。其中PHP中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。换言之,数组是特殊的变量,可以同时保存一个以上的值。在PH
大师求救,php的sleep()函数出现中断,什么原因?functionok后面要有个括号。这个不重要。中断不是因为php程序,不是sleep的问题,一个原因是浏览器主动断开了,一般来说,http来连接的,客户端都会等待一定时间后,就认为是连接丢失了,就会报504错误了。也有个原因是webserver的原因,进程管理模块认为你的子进程进入了死循环,主动终止了。还有个原因,就
使用PHP中pathinfo函数讲解pathinfo()是PHP中的内置函数,用于以关联数组或字符串形式提供文件路径信息。调用方式为pathinfo(path,options),返回一个关联数组,包含路径信息。使用pathinfo函数的步骤如下:首先,你需要指定要检查的路径作为参数传递给pathinfo()函数。其次,可选择性地提供一个options参数,规定返回的数组元素
JAVA乱码根本原因是什么右键点击乱码文件,选preferenses,看看resource里的编码是不是正确,如果不是utf-8就改成utf-8,如果是utf-8的话你改成别的编码试试看看,然后把正常状态下的内容复制出来,在把文件改成utf-8后把文件复制进去Win7系统打开java文件出错显示乱码如何解决很多程序人员都会使用java程序写文件,只有成功运行java程序文件显示正确结果
array_intersect_key语法在PHP编程中,array_intersect_key()函数是一个用于处理数组的实用工具,它的主要任务是找出多个数组中键值对的交集。这个函数需要至少两个数组作为输入参数,但可以接受任意数量的数组进行比较。第一个参数array1是函数的基础,它被视为比较的起点。这个数组中的键值对将被与其他数组进行匹配。例如,如果array1是键值对{'a':1
phpsocketfgets超时问题PHP程序的脚本,默认配置是30时间还没有执行完毕,就直接中断了。你上面的情况有可能就是这样吧,第一次接受的时候,还没有到30秒,之后到了,程序超时中断了。下面的这个语句是将事件设置为不超时,希望对你有帮助。set_time_limit(0);php进程超时接口返回504错误分析当然如果在进行某一项即时的操作,可能需要nginx的超时参数
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00