import java.util.Arrays;
import java.util.Scanner;
/*
- 1、从键盘输入本组学员的成绩,放到数组中
2、用for循环显示所有学员的成绩
3、排序:从低到高
4、查找是否有正好60分的,如果有返回位置
5、复制成绩最低三名构成新数组
6、用工具类打印成绩最低三名成绩 - /
public class Test1 {
public static void main(String[] args) {
}int sum = 100000; int num = 0; double[] arr = new double[sum]; System.out.println("如果学生成绩大于等于0,如果小于0则退出输入,且该成绩作废!"); for(;;) {//用类无限循环来输入学生成绩 Scanner scan = new Scanner(System.in); lable://标号 System.out.print("请输入学生成绩:"); double n = scan.nextDouble(); if(n <= 100) { if(n < 0) {//来判断是否退出循环 break; }else { arr[num] = n; num++; } }else { break lable; } } for(int i = 0;i < num;i++) {//遍历arr数组的前num个 System.out.print(arr[i] + "\t"); } System.out.println(); double[] arr1;//获取arr数组的前num个元素建一个新的数组 arr1 = Arrays.copyOfRange(arr, 0, num); for(int i = 0;i < arr1.length - 1;i++) {//利用冒泡排序将成绩从低到高排序 for(int n = 0;n < arr1.length - 1 - i;n++) { if(arr1[n] > arr1[n+1]) { double temp = arr1[n]; arr1[n] = arr1[n+1]; arr1[n+1] = temp; } } } for(int i = 0;i < arr1.length;i++) {//遍历arr1数组 System.out.print(arr1[i] + "\t"); }
}