JUnit测试错误

时间:2012-03-09 07:15:46

标签: java junit

我正在尝试为我的程序运行JUnit测试,但是我收到类似

的错误消息
*incompatible types
required: int[];
found: int *

以下是显示错误的代码

myQSArray = QS.quickSort(sortedArray2,0, sortedArray2.length - 1);

这是我对 quickSort方法

的号召
public static int quickSort( int A[], int p, int r){
    int q; 
    if (p<r)
    {
         q = partition(A,p,r);
         quickSort(A, p, q-1);
         quickSort(A,q+1,r);
    }
    return QS1.quickSort(A, p, r);
}

请帮助,提前致谢

2 个答案:

答案 0 :(得分:1)

我发现您的代码存在一些问题:

声明该方法返回int值,但您尝试将此int分配给int[]。这会导致实际的编译时错误。将方法签名更改为

public static int[] quickSort( int A[], int p, int r)

快速修复。

然后,您的递归函数quicksort错过了退出条件。它将无限期地运行(或者至少在虚拟机放弃并在几毫秒后抛出StackOverflowException之前)。您需要添加要检查的条件,如果数组已排序并返回已排序的数组(请参阅“new”方法签名!)。

答案 1 :(得分:0)

当编译器发现一个数据类型不兼容的变量和表达式对它们执行操作时,发生了Java错误不兼容的类型。这就是其中之一。

更好一旦你将“sortedArray2”声明为int []数组类型而不是