import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int nums[] = {89, -23, 64, 91, 119, 52, 73};
hello.sort(nums);
}
//定义方法完成成绩排序并输出前三名的功能
public void sort(int[] nums){
int scores[nums.length];
int j = 0;
for(int i = 0; i < num.length; i++){
if((nums[i] < 0) | (nums[i] > 100))continue;
else{
scores[j++] = nums[i];
}
}
Arrays.sort(scores);
System.out.println("考试成绩前三名为\n"+scores[0]+"\n"+scores[1]+"\n"+scores[2]);
}
}
改成这个啊
int[] scores=new int[nums.length];
格式不对,你只是声明了变量没有分配空间给它。另外程序最后scores[]里面的数字改成 6 5 4 这三个。他的排序是升序的
import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { HelloWorld hello = new HelloWorld(); int nums[] = {89, -23, 64, 91, 119, 52, 73}; hello.sort(nums); } //定义方法完成成绩排序并输出前三名的功能 public void sort(int[] nums){ int[] scores=new int[nums.length]; int j = 0; for(int i = 0; i < nums.length; i++){ if((nums[i] < 0) | (nums[i] > 100))continue; else{ scores[j++] = nums[i]; } } Arrays.sort(scores); System.out.println("考试成绩前三名为\n"+scores[0]+"\n"+scores[1]+"\n"+scores[2]); } }
你的scores数组定义的格式不对