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)