开始认为我使用了错误的书来学习。我已经从Sam的Learn Java中逐字逐句地复制了这个词,但.sort(names);
方法未定义为数组类型。
我感觉它与public static void main(String[] args) {
电话有关,但我不知道如何修改它。
package arrays;
import java.util.*;
public class Arrays {
public static void main(String[] args) {
String names[] = { "Lauren", "Audrina", "Heidi", "Whitney",
"Stephanie", "Spencer", "Lisa", "Brody", "Frankie", "Holly",
"Jordan", "Brian", "Jason" };
System.out.println("The original order:");
for (int i = 0; i < names.length; i++) {
System.out.print(i + ": " + names[i] + " ");
}
Arrays.sort(names);
System.out.println("\nThe new order:");
for (int i = 0; i < names.length; i++) {
System.out.print(i + ": " + names[i] + " ");
}
System.out.println();
}
}
答案 0 :(得分:8)
(Thomas指出答案,但由于这是评论,你无法接受;这是你可以接受的CW。)
Arrays
是java.util
包中的一个类,其中包含sort
方法。通过调用自己的类Arrays
,您可以隐藏代码中的java.util
一个(这有时称为“阴影”),因此Arrays.sort(names);
行正在尝试在您的类上使用sort
方法(并且它没有)。
要解决此问题,您有三种选择:
更改班级名称(ArrayTest
,无论如何)或
将您的电话号码更改为sort
至:java.util.Arrays.sort(names);
(因此编译器知道您正在谈论的是java.util.Arrays
,而不是您的班级),或
使用import static java.util.Arrays.sort;
导入方法sort
而不是类Arrays
,并使用sort(names);
调用它(没有前面的类名)。