import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] data ={89,-23,64,94,119,52,73};
HelloWorld hello=new HelloWorld();
int[] tops=hello.top(data);
System.out.println(Arrays.toString(tops));
}
//定义方法完成成绩排序并输出前三名的功能
public int[] top(int scores[]){
Arrays.sort(scores);
int[] score =new int[3];
for(int i = scores.length - 1; i >= 0; i--){
if(scores[i]>100){
continue;
}else{
score[0]=scores[i];
score[1]=scores[i-1];
score[2]=scores[i-2];
break;
}
}
return score;
}
}
只判断了过滤了大于100的,没去考虑小于0的,不知道怎么修改才能做到判断下一个小于0
if(scores[i]>100||scores[i]<0)
import java.util.Arrays;
public class HelloWorld
{
//完成 main 方法
public static void main(String[] args)
{
int scores[] = {89,-23,64,91,119,52,73};
HelloWorld hello = new HelloWorld();
System.out.println("考试成绩前三名为:");
hello.top(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void top(int[] scores)
{
int count = 0;
int wrong = 0;
//有效成绩个数
for(int i = 0;i<scores.length;i++)
{
if(scores[i]<=100 && scores[i]>=0)
count++;
}
int right[] = new int[count];
//将有效成绩放入新的数组
for(int i = 0;i<scores.length;i++)
{
if(scores[i]<=100 && scores[i]>=0)
right[i-wrong] = scores[i];
else
{
wrong++;
continue;
}
}
Arrays.sort(right);
for(int i = right.length-1;i>right.length-4;i--)
System.out.println(right[i]);
}
}
还有在问一下不能定义把排序后的数组赋值给其他数组吗?
比如 int[]num = Arrays.sort(nums);这样好像是会报错的