import java.util.Arrays;
public class HelloWorld {
public int[] showTop3(int[] score) {
Arrays.sort(score);
int i=0,j;
int[] Top3=new int[3];
for(j=score.length-1; j>0; j--) {
if (score[j]>=0 && score[j]<=100){
Top3[i] = score[j];
i++;
if(i>=3)
break;
}
}
return Top3;
}
public static void main(String[] args) {
int[] scores = {89, -23, 64, 91, 119, 52, 73};
HelloWorld test = new HelloWorld();
int[] top3 = test.showTop3(scores);
System.out.println("考试成绩的前三名为:");
for(int score : top3) {
System.out.println(score);
}
}
}
感觉看上去有点违背习惯,建议将public static void main(String[] args) 这段放前边,后边的类在后边看上去舒服些
没做数据合法检测,附上
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int [] scores = {89,-23,64,91,119,52,73};
HelloWorld test = new HelloWorld();
test.Output(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void Output(int [] array){
Arrays.sort(array);
int i = 0,j = array.length-1,num = 0;
while (array[i] < 0)
{
i++;
}
while (array[j] > 100)
{
j--;
}
System.out.println("考试成绩的前三名为:" + "\n");
while (j >= i && num < 3)
{
System.out.println(array[j] + "\n");
j--;
num++;
}
}
确定调试会没有问题吗?你定义的数组名是 scores,用的时候却变成了score.....
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
}
//定义方法完成成绩排序并输出前三名的功能
public void shu(int[] scores) {
Arrays.sort(scores);
System.out.println("考试成绩的前三名为:");
for(int i = scores.length-1;i>scores.length-4;i--) {
System.out.println(scores[i]);
}
}
}
/*你觉得这段代码如何?*/
没毛病 挺好的