java入门--数组的排序案例:输出成绩前三名

import java.util.Arrays;

public class showTop3 {

	/**
	 * 1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73
	 * 
	 * 2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入
	 * 
	 * 3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩
	 * 
	 * @param args
	 */

	// 完成 main 方法
	public static void main(String[] args) {
		int[] scores = new int[] { 89, -23, 64, 91, 119, 52, 73 };
		System.out.println("成绩前三名:");
		// 创建一个本类对象
		showTop3 helloWorld = new showTop3();
		// 调用showTop3()方法
		helloWorld.Top3(scores);
		
	}
	
	// 定义方法完成成绩排序并输出前三名的功能
	public void Top3(int[] scores) {
		// 数组的排序
		Arrays.sort(scores);
		// 保存有效成绩的个数
		int okScores = 0;
		// 倒序遍历数组中的每一个元素
		for (int i = scores.length - 1; i >= 0; i--) {
			// 判断成绩的有效性
			if (scores[i] < 0 || scores[i] > 100) {
				// 如果成绩无效,则跳过本次成绩,忽略此成绩
				continue;
			}
			// 成绩有效,有效成绩个数+1
			okScores++;

			// 当有效成绩大于3个的时候
			if (okScores > 3) {
				// 跳出遍历循环
				break;
			}

			// 依次输出前三名的成绩
			System.out.println(scores[i]);
		}

	}

}

猜你喜欢

转载自blog.csdn.net/qq_36639124/article/details/80351222