这是代码:
import java.util.Arrays;
import java.util.*;
public class MyClass {
public static void main(String[] args) {
int sum = 0;
System.out.println("I will ask you to add 5 integers and I will add 5 to
each integer.\n");
Scanner askInput = new Scanner(System.in);
System.out.println("Please enter 5 integers:");
int[] array = new int[5];
array[0] = askInput.nextInt();
array[1] = askInput.nextInt();
array[2] = askInput.nextInt();
array[3] = askInput.nextInt();
array[4] = askInput.nextInt();
System.out.println("\n");
for(int i = 0; i < array.length; i++)
{
sum = array[i] + 5;
System.out.println(sum);
}
System.out.println(Arrays.sort(array[0]));
}
}
这是我的错误:
/MyClass.java:26:错误:没有为sort(int)找到合适的方法 的System.out.println(Arrays.sort(数组[0]));
和
/MyClass.java:26:错误:&#39; void&#39;这里不允许输入 的System.out.println(Arrays.sort(阵列));
当我从&#34;(数组)&#34;中删除[0]时出现此错误。
答案 0 :(得分:2)
'void' type not allowed here System.out.println(Arrays.sort(array));
您无法打印void
类型。
您已收到此错误,因为Arrays.sort(array)
已对array
进行排序;也就是说,它确实不返回一个新的排序项数组,它直接修改你传递的数组的内容作为参数。
您可以改为执行以下操作:
//Arrays.toString() returns a string representation of an array so you can print it
System.out.println(Arrays.toString(array));
//sort it
Arrays.sort(array);
//print the now sorted array
System.out.println(Arrays.toString(array));
文档:https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort(int[])
答案 1 :(得分:0)
如果导入java.util.Arrays
,也无需导入java.util.*
。这是因为导入java.util.*
时会自动导入java.util中的所有内容,包括java.util.Arrays,但是为了解决您的问题,您无法直接打印数组。但是,要将数组转换为String,可以使用Arrays.toString(array)
。需要注意的一点是Arrays.sort(array)
没有返回任何内容并直接修改数组,所以你可能想要预先克隆你的数组,如果你需要原始的东西,完全修复你的代码遵循Strikegently&#39; s溶液