java 中的自动化 J 单元软件测试

automated J unit software test in java

我已经写了,但我不知道出了什么问题,如果数组不为空,它应该 return 数组值的总和,但如果数组为空,它应该 return零。

public class Calculation {
    int findSum(int A[], int N) {
        if (N <= 0)
            return 0;
        return (findSum(A, N - 1) + A[N - 1]);
    }

    int main() {
        int A[] = {1, 2, 3, 4, 5};
        int N = sizeof(A) / sizeof(A[0]);
        System.out.print("Sum = " + findSum(A, N));
        return 0;
    }
}

您正在 Java 中使用 C/C++ 代码。这适用于 Java


public class Calculation {
    static int findSum(int[] A, int N) {
        
        if(N<=0) {
            return 0;
        }
        
        int sum = 0;
        for(int i:A) {
            sum+=i;
        }
        return sum;
        
        
    }
    public static void main(String args[]) {
      int[] A = {1,2,3,4,5};
      int N = A.length;
      System.out.println("Sum of x+y = " + findSum(A, N));
    }

}
public class ArrayUtils {
    static int sumOfArray(int[] arr) {
        
        if(arr.length<=0) {
            return 0;
        }
        
        int sumOfArray = 0;
        for(int i:arr) {
            sumOfArray+=i;
        }
        return sumOfArray;    
        
    }
    public static void main(String args[]) {
      int[] arr = {1,2,3,4,5};
      System.out.println("Sum of all array elements = " + sumOfArray(arr));
    }

}