有人可以告诉我,我没有看到什么。 从书上练习。 创建一个名为SortingTest的类。在其中,创建一个接受int值数组作为参数的方法,并将已排序的元素打印到终端。(最小元素优先)
尝试编译时,我收到一个错误:不兼容的类型。 AbcArray无法转换为int [] 根据我的理解,我将int []值传递给期望int []值的方法。 (如果我的错误是如此明显,我还在道歉,我很抱歉)
public class AbcArray {
private int[] myArray;
public AbcArray(){
myArray = new int[]{55,58,57,54,56};
}
public int[] theValues(){
return myArray;
}
}
import java.util.Arrays;
public class SortingTest{
public SortingTest() {}
public void sortArray(int[] outsideArray){
Arrays.sort(outsideArray);
System.out.println(outsideArray);
}
}
答案 0 :(得分:0)
您的代码的第一个问题是AbcArray
代码中的错误构造函数。你需要替换
public ArraysData(){
myArray = new int[]{55,58,57,54,56};
}
与
public AbcArray(){
myArray = new int[]{55,58,57,54,56};
}
下一步是缺少您没有发布的代码。我们假设它看起来如下:
public class Main{
public static void main(String[] args){
AbcArray a = new AbcArray();
SortingTest st = new SortingTest();
st.sortArray(a);
}
}
尝试构建此代码会导致actual argument AbcArray cannot be converted to int[] by method invocation conversion
。发生这种情况是因为您要将整个班级AbcArray
传递给方法sortArray
以修复您需要传递AbcArray
中使用方法theValues()
可用的值的问题。所以你的代码看起来像这样:
public class Main{
public static void main(String[] args){
AbcArray a = new AbcArray();
SortingTest st = new SortingTest();
st.sortArray(a.theValues());
}
}
此外,您无法将数组打印到标准输出中。在打印任何内容之前,请先查看Arrays.toString()
方法。