方法类型的方法参数 (int[] nums)

Mic*_*ebo 5 java arrays loops sum parameter-passing

我正在编写将数组中的数字相加并求和的代码。但是,如果数字是 13,则跳过该数字及其后的数字。但是,我无法让我的main()方法将参数输入到我为执行此任务而创建的方法中。
我目前的语法是:

public static int sum13(int[] nums) {
     int sum = 0;
     for (int i = 0; i < nums.length; i++) {
          if (nums[i] ==13 || nums[i]-- == 13) {
               continue;
          } else {
               sum += nums[i];
          }
     return sum;
     }
}

public static void main(String[] args) {
     System.out.println(sum13([1, 2, 2, 1]));
     System.out.println(sum13([13, 1, 2, 13, 3, 3]));
}

}
Run Code Online (Sandbox Code Playgroud)

在线上System.out.println,我收到错误消息,

The method sum13(int[]) in the type A3 is not applicable for the arguments (int, int, int, int)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个错误?

小智 2

这道题的结构很好!产生这个问题的原因是该方法的参数main不适用于该sum13方法。关于数组的理解有点错误。正确的解决方案是

System.out.println(sum13(new int[]{1,2,3,4}));
Run Code Online (Sandbox Code Playgroud)