Java、数组、方法
下面的方法调用在编译时出错。我不明白为什么会这样。我传递的参数与方法中定义的相同。请帮忙
_div女士(B[mid_i],mid_i); 迪夫女士(C[mid_j],mid_j)
代码从下面开始:
void ms_div(int[] A, int nbr)
{
if (nbr > 2)
{
int mid_i = A.length / 2;
int mid_j = A.length - mid_i;
int[] B = new int[13];
int[] C = new int[13];
//create left hand array
for(int i;i<=mid_i - 1;i++)
{
B[i] = A[i];
}
//creating right hand array
for(int i = 0,j=mid_i;i>= mid_j - 1;i++,j++)
{
C[i] = A[j];
}
//Sort Left Hand Array
if (mid_i >= 2)
{
ms_div( B[mid_i], mid_i );
}
//Sort Right Hand Array
{
ms_div( C[mid_j],mid_j );
}
}
}
# 1 楼答案
在sort Left-Hand数组和sort Right-Hand数组中,必须将int值更改为Array。你应该用like
及
# 2 楼答案
在递归步骤中,将整数发送给ms_div。如果发送整个数组,它将编译
所以
这样做:
对于
ms_div( C[mid_i], mid_i );
调用也是如此