Java 将参数传递给方法不兼容的类型
有人能告诉我我没看到什么吗。 从书本上练习。 创建一个名为SortingTest的类。在其中,创建一个方法,该方法接受int值数组作为参数,并将排序的元素打印到终端。首先是最小的元素 在尝试编译时,我遇到了一个错误:不兼容的类型。 AbcArray无法转换为int[] 据我所知,我正在将int[]值传递给一个需要int[]值的方法。如果我的错误如此明显,我道歉,我仍在学习Java 将参数传递给方法不兼容的类型,java,sorting,parameters,parameter-passing,Java,Sorting,Parameters,Parameter Passing,有人能告诉我我没看到什么吗。 从书本上练习。 创建一个名为SortingTest的类。在其中,创建一个方法,该方法接受int值数组作为参数,并将排序的元素打印到终端。首先是最小的元素 在尝试编译时,我遇到了一个错误:不兼容的类型。 AbcArray无法转换为int[] 据我所知,我正在将int[]值传递给一个需要int[]值的方法。如果我的错误如此明显,我道歉,我仍在学习 public class AbcArray { private int[] myArray; public
public class AbcArray {
private int[] myArray;
public AbcArray(){
myArray = new int[]{55,58,57,54,56};
}
public int[] theValues(){
return myArray;
}
}
代码的第一个问题是AbcArray代码中的构造函数错误。你需要更换
public ArraysData(){
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);
}
}
尝试生成此代码会导致实际参数AbcArray无法通过方法调用转换转换为int[]。这是因为您正在将整个类AbcArray传递给方法SORTARAY,以修复您需要从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方法 你的代码中没有调用Sortaray。找不到主线?@Adrian,我在用BlueJIDE@RyanG这不是问题所在。你说我正在将一个int[]值传递给一个需要int[]值的方法-你在哪里这样做?您没有发布主方法。@f1sh BlueJ项目没有主方法。他是手动操作的。@tombluej只是一个IDE,当然他需要一个主方法来运行整个过程。他是干什么的?在哪里?@f1sh因为这个答案也断言,OP需要一个主方法,这是错误的。如果他删除了,我会删除我的投票,因为其他的东西是正确的。
public class Main{
public static void main(String[] args){
AbcArray a = new AbcArray();
SortingTest st = new SortingTest();
st.sortArray(a);
}
}
public class Main{
public static void main(String[] args){
AbcArray a = new AbcArray();
SortingTest st = new SortingTest();
st.sortArray(a.theValues());
}
}