gpt4 book ai didi

java - 调用方法时出错

转载 作者:行者123 更新时间:2023-12-01 22:39:01 25 4
gpt4 key购买 nike

嘿,我正在尝试调用方法“swapPairs(int[] nums)”,但出现多个错误

 - Syntax error on token "{", delete this token
- The method swapPairs(int[]) in the type ArrayMethods is not applicable
for the arguments (int, int, int, int)
- Syntax error on token "swapPairs", @ expected before this token
- Syntax error on token ";", @ expected after this token
- Syntax error on token "}", delete this token"

这是我的代码:

public class ArrayMethods {
public static void main(String[]args){
System.out.println(swapPairs({5,4,2,6}));
allLess({5,4,3}, {4,7,5});
}
public boolean allLess(int[] nums, int[] num){
int c=0;
if(nums.length==num.length){
for(int i=0; i<num.length; i++){
if(nums[i]<num[i])
return true;
}
}
return false;


}
public int[] swapPairs(int[] nums){
int[] x=new int[nums.length];
if(nums.length%2==0){
for(int i=0; i<nums.length; i++)
x[i]=nums[i+1];
return x;
}
else
for(int i=0; i<nums.length-1; i++)
x[i]=nums[i+1];
return x;

}
public void printArray(int[] nums){
for(int i=0; i<nums.length; i++)
System.out.println(nums[i]);
}



}

在方法 swapPairs 中我也可能遇到错误。其目标是交换数组中的相邻元素,如果数组的长度是奇数,则将最后一个元素保留在原来的位置。谢谢!

最佳答案

您无法从静态类访问非静态成员。

System.out.println(swapPairs({5,4,2,6})); // swapPairs() is non-static
allLess({5,4,3}, {4,7,5}); //allLess() is non-static

解决方案:

创建一个ArrayMethods实例来访问swapPairs()方法和allLess()方法或使这些方法静态.

但是这里还有更多问题。您不能使用 swapPairs({5,4,2,6}) 您必须使用 swapPairs(new int[]{5,4,2,6})

一种正确的方法

 ArrayMethods arrayMethods = new ArrayMethods();
System.out.println(arrayMethods.swapPairs(new int[]{5, 4, 2, 6})); // *
arrayMethods.allLess(new int[]{5, 4, 3},new int[]{4, 7, 5});

注意*行。您正在显式调用 toString()。这不是一个好的做法。

更多问题:

  for (int i = 0; i < nums.length; i++)
x[i] = nums[i + 1]; // you will get ArrayIndexOutOfBoundsException
return x;

i=nums.length-1时,nums[i + 1]将变为num[nums.length]。现在数组中没有这样的索引。如果数组的大小为 4,则索引仅从 03

您可以将这些积分记入您的帐户并更正这些错误。

关于java - 调用方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com