Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中实现C#代码_Java_C# - Fatal编程技术网

如何在java中实现C#代码

如何在java中实现C#代码,java,c#,Java,C#,我按照指示表和视频从。我试着用JAVA实现它。但我试着运行它时出错了 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:1 这里的错误 img_color_space.get(i, j)[i] = 0; 这是C语言的完整代码# cvtColor(帧,帧,CV_BGR2HSV); 高斯模糊(帧,帧,大小(7,7),1,1); //medianBlur(帧,帧,15); 对于(int r=0;r而言,主要问题似乎是原始C#代码的最后一个

我按照指示表和视频从。我试着用JAVA实现它。但我试着运行它时出错了

线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:1

这里的错误

img_color_space.get(i, j)[i] = 0;
这是C语言的完整代码#

cvtColor(帧,帧,CV_BGR2HSV);
高斯模糊(帧,帧,大小(7,7),1,1);
//medianBlur(帧,帧,15);

对于(int r=0;r而言,主要问题似乎是原始C#代码的最后一个内部循环语句如下:

frame(r,c)[i] = 0; //nested 'for' loop variables are r, c, & i
转换后的代码有:

img_color_space.get(i, j)[i] = 0; //nested 'for' loop variables are i, j, & k
您正在忽略内部“for”循环“k”变量

将语句更改为:

img_color_space.get(i, j)[k] = 0;

“我的代码有问题吗?”是的,很明显。根据错误消息,您使用的数组索引超出了范围。当时使用的索引是什么?该索引的有效范围是什么?您可以通过调试找到错误所指的索引?其中一个问题是您使用的是增量后运算符
i++
,而不是增量前运算符<代码>++i
当然它有不同的行为that@3vts:实际上,当它是一个独立语句(例如“for”循环的最后一个语句)时,如果使用pre或post increment,则完全没有区别。
img_color_space.get(i, j)[i] = 0; //nested 'for' loop variables are i, j, & k
img_color_space.get(i, j)[k] = 0;