package grade;
import java.util.Arrays;
/*1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73
2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入
3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩*/
public class one{
public void grade(int []grades) {
Arrays.sort(grades);
int[] G = new int[3];
int j = 0,q = 0;
for(int i =grades.length-1; i>=0 ; i--) {
if(grades[i] >0 && grades[i] < 100) {
G[q] = grades[i];
q++;
j++;
}
if(j > 3) break;
}
for(q=0;q<G.length;q++) {
System.out.println(G[q]);
}
}
}
import java.util.Arrays;
public class HelloWorld{
public static void main(String[] args){
int[] scores = new int[]{89,-23,64,91,119,52,73};
System.out.println("考试成绩的前三名为:");
HelloWorld hello=new HelloWorld();
hello.showTop3(scores);
}
public void showTop3(int[] scores){
Arrays.sort(scores);
int num=0;
for(int i=(scores.length-1);i>=0;i--){
if(scores[i]>=0 && scores[i]<=100){
num++;
if(num<=3){
System.out.println(scores[i]);
}
}
}
}
}
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();
hello.sortAndPrint(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sortAndPrint(int[] xscores){
Arrays.sort(xscores);//排序,但默认是升序
int len = xscores.length;
int[] scores= new int[len];
int count =0;//计数
//把升序变为降序
for(int i=0;i<xscores.length;i++){
scores[i]=xscores[len-1-i];
}
xscores=scores;
//输出前三
for(int i=0;i<xscores.length;i++){
//验证数据是否有效
if(xscores[i]>0&&xscores[i]<100){
System.out.println(xscores[i]);
//找到即输出,计数+1
count++;
//找到三个,跳出循环
if(count==3)
break;
}
}
}
这是我做的,可用,你可以对比一下
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(); hello.sortAndPrint(scores); } //定义方法完成成绩排序并输出前三名的功能 public void sortAndPrint(int[] xscores){ Arrays.sort(xscores);//排序,但默认是升序 int len = xscores.length; int[] scores= new int[len]; int count =0;//计数 //把升序变为降序 for(int i=0;i<xscores.length;i++){ scores[i]=xscores[len-1-i]; } xscores=scores; //输出前三 for(int i=0;i<xscores.length;i++){ //验证数据是否有效 if(xscores[i]>0&&xscores[i]<100){ System.out.println(xscores[i]); //找到即输出,计数+1 count++; //找到三个,跳出循环 if(count==3) break; } } }
太多错了,主函数都没有,上面的代码方法也没,你调用的是其他页面的方法?