我对如何在Java中使用Arrays.sort感到困惑.
在我的Java代码中,我正在尝试对目录中的前10个文件进行排序,因此我将使用Arrays.sort方法.
首先,我创建数组以保存文件长度:
int[] sortedArray = new int[11];
Run Code Online (Sandbox Code Playgroud)
稍后在我的代码中,在我将数字加载到sortedArray后,我这样做..
Arrays.sort(sortedArray);
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,它并不喜欢这样.我收到此错误:
TopTen.java:46: error: <identifier> expected
Arrays.sort(sortedArray);
Run Code Online (Sandbox Code Playgroud)
这是我的其余代码
File dir = new File("C:\\Users\\Code\\Desktop\\Work\\Oracle_Training\\Java_training\\Java_Challenge_Disk_10_files");
for(File child : dir.listFiles()){
System.out.print(child.getName() + " " + child.length() + " , ");
//puting into sortedArrya
for (int i = 0; i<11; i++){
sortedArray[i] = (int)child.length();
continue;
}
}
int[] array = new int[10];
Random rand = new Random();
for (int i = 0; i < array.length; i++)
array[i] = rand.nextInt(100) + 1;
System.out.println(Arrays.toString(array));
}
Arrays.sort(sortedArray);
Run Code Online (Sandbox Code Playgroud)
我使用的是Arrays.sort纠正吗?谢谢
你正在调用Arrays.sort(),但在第二个for循环开始后你忘记了一个左大括号.换句话说,将最后一个for循环更改为:
for (int i = 0; i < array.length; i++) {
array[i] = rand.nextInt(100) + 1;
System.out.println(Arrays.toString(array));
}
Run Code Online (Sandbox Code Playgroud)
为了防止这种情况再次发生,你可以养成添加大括号的习惯,即使for循环中只有一个语句也不会将它们取出.
| 归档时间: |
|
| 查看次数: |
1245 次 |
| 最近记录: |