问答详情
源自:7-1 编程练习

这个问题可以直接用main方法解决,为什么 还要自定义方法呢?不是特别理解自定义方法的用处,求大神指点

以下是我的我只用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


提问者:小雷2012 2017-03-23 11:13

个回答

  • ziom
    2017-03-23 13:41:00
    已采纳

    自定义方法可以拆分逻辑,实现代码的复用,你贴出来的这段代码只是一个简单练习,也就无所谓拆分复用了。

    如果不理解,可以暂时不去纠结这个问题,以后敲的代码多了你就有体会了