不能按照顺序输出,是不是第一个for循环没有进行呢
你的思路有问题,排序方法错了
改了一下你的代码,你自己运行比较一下吧
//import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = {89, 91, 64, -23, 119, 52, 73};
get(scores);
}
//定义方法完成成绩排序并输出前三名的功能
private static void get(int scores[])
{
if (scores != null && scores.length > 0) {
int totalLen = scores.length; //数组长度
int tempInt;
//排序:第一个依次跟后面的其他每个成员比较大小,接着第二个依次跟后面的比较大小,以此类推
for (int i = 0; i < totalLen; i++) {
for (int j = i + 1; j < totalLen; j++) {
if (scores[i] > scores[j]) {
tempInt = scores[i];
scores[i] = scores[j];
scores[j] = tempInt;
}
}
}
System.out.println("前三名的成绩是:" + scores[totalLen - 1] + ", " + scores[totalLen - 2] + ", " + scores[totalLen -3]);
//完成排序后数组内的数字应该是从小到大排列的
System.out.print("----> The int array after sorting is: [");
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i]);
System.out.print(i == scores.length - 1 ? "]" : ", ");
}
}
}
}import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores ={89,-23,64,91,119,52,73};
Arrays.sort(scores);
System.out.println("考试成绩的前三名为:");
hello.getScores(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void getScores(int[] scores){
int count = 0;
for(int i=scores.length-1;i>=0;i--){
if(scores[i]<=100 && scores[i] >=0 && count < 3){
System.out.println(scores[i]);
count += 1;
}
}
}
}