以下是我的我只用main函数编的代码: package com.jieduan1; import java.util.Arrays; public class demo06 { //完成 main 方法 public static void main(String[] args) { int [] scores1={89,-23,64,91,119,52,73}; int n=0; for (int i=0;i<scores1.length;i++) { if (scores1[i]>=0&&scores1[i]<=100) { n++; } } System.out.println("有效成绩个数为:"+n); int [] scores2=new int[n]; int j=0; for (int i=0;i<scores1.length;i++) { if (scores1[i]>=0&&scores1[i]<=100) { scores2[j]=scores1[i]; j++; } } System.out.println("输出有效成绩:"+Arrays.toString(scores2)); Arrays.sort(scores2); System.out.println("输出排序后的有效成绩:"+Arrays.toString(scores2)); int [] scores3=new int [3]; int k=3-1; for (int i=n-3;i<n;i++) { scores3[k]=scores2[i]; k--; } System.out.println("输出前三名成绩:"+Arrays.toString(scores3)); for (int i=0;i<3;i++) { System.out.println("考试成绩的第"+(i+1)+"名为:"+scores3[i]); } } } 执行结果为: 有效成绩个数为:5 输出有效成绩:[89, 64, 91, 52, 73] 输出排序后的有效成绩:[52, 64, 73, 89, 91] 输出前三名成绩:[91, 89, 73] 考试成绩的第1名为:91 考试成绩的第2名为:89 考试成绩的第3名为:73
自定义方法可以拆分逻辑,实现代码的复用,你贴出来的这段代码只是一个简单练习,也就无所谓拆分复用了。
如果不理解,可以暂时不去纠结这个问题,以后敲的代码多了你就有体会了