Java 解决了如何编写从低到高对数组中的数字进行排序的方法
此代码中有一个错误: ArraySortSearch.java:12:错误:不兼容的类型:不能为int 转换为int[] int[]mySorted=排序(myNumbers); ^ArraySortSearch.java:56:错误:不兼容的类型:int[]无法转换为int 返回a 我不久前才开始学习Java。这太难了:(我怎么解决这个问题Java 解决了如何编写从低到高对数组中的数字进行排序的方法,java,arrays,Java,Arrays,此代码中有一个错误: ArraySortSearch.java:12:错误:不兼容的类型:不能为int 转换为int[] int[]mySorted=排序(myNumbers); ^ArraySortSearch.java:56:错误:不兼容的类型:int[]无法转换为int 返回a 我不久前才开始学习Java。这太难了:(我怎么解决这个问题 //not allowed to use import java.util public class ArraySortSearch { // shoul
//not allowed to use import java.util
public class ArraySortSearch { // shouldn't be changed from here
public static void main(String[] args) {
int [] myNumbers = {15,12,23,0,10,55,2,78,9,6,1,4,11};
System.out.println("Looking for numer 55: ");
System.out.println(find(myNumbers,55));
System.out.println("Sorted Array:");
int [] mySorted = sort(myNumbers);
for(int i = 0; i< mySorted.length; i++) {
System.out.println(mySorted[i]);
}
} //to here
public static int find(int [] a, int number){ //this method works
for(int i=0; i<a.length; i++){
if(a[i]==number){
return i;
}
else{
continue;
}
}
return -1;
}
public static int sort(int [] a){ //this method is the problem
for(int b=0; b<a.length; b++){
for(int i =1; i<a.length; i++){
if(a[b]<a[i]){
int temp = a[b];
a[b] = a[i];
a[i] = temp;
}
}
}
return a;
}
//不允许使用导入java.util
不应从此处更改公共类ArraySortSearch{//
公共静态void main(字符串[]args){
int[]myNumbers={15,12,23,0,10,55,2,78,9,6,1,4,11};
System.out.println(“查找数字55:”);
System.out.println(find(mynumber,55));
System.out.println(“排序数组:”);
int[]mySorted=排序(myNumbers);
for(int i=0;i 对于(int i=0;i您的返回类型是int
,但a
是一个数组。由于您正在对数组进行排序,因此只需将返回类型设置为void
,无需返回任何内容
另外,让外循环转到a.length-1
,让内循环从b+1
public static int sort
应该是public static int[]sort
您的排序方法是返回一个整数,但您返回的是一个数组。将您的方法更改为public static int[]sort
谢谢它解决了编译问题!谢谢你在循环中发现了问题。这听起来一定很愚蠢,但我不太确定我是否正确。public static int[]sort(int[]a){//这个方法是(int b=0;b)的问题