Skip to content

随堂实操任务清单 第 8 讲

💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。

← 返回《Java程序设计》大纲


实操 1动态列表 ArrayList 增删改查与包装类自动装箱演示ArrayListDemo.java
java
import java.util.ArrayList;
import java.util.Collections;

/**
 * 动态列表 ArrayList 增删改查与包装类自动装箱演示
 * @author MatNoble
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        // 泛型动态集合
        ArrayList<String> students = new ArrayList<>();

        // 1. 添加元素
        students.add("张三");
        students.add("李四");
        students.add("王五");
        students.add(1, "赵六"); // 插入到索引 1

        System.out.println("当前花名册: " + students);
        System.out.println("花名册总人数: " + students.size());

        // 2. 查询与修改
        System.out.println("第 0 号学生: " + students.get(0));
        students.set(2, "李小四");

        // 3. 排序
        Collections.sort(students);
        System.out.println("字典序排序后: " + students);
    }
}
实操 2经典冒泡排序 (优化提前跳出版)BubbleSortDemo.java
java
import java.util.Arrays;

/**
 * 经典冒泡排序 (优化提前跳出版)
 * @author MatNoble
 */
public class BubbleSortDemo {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) {
            boolean swapped = false;
            for (int j = 0; j < n - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            if (!swapped) break; // 若无交换,说明已经排好序
        }
    }

    public static void main(String[] args) {
        int[] data = { 64, 34, 25, 12, 22, 11, 90 };
        System.out.println("排序前: " + Arrays.toString(data));
        bubbleSort(data);
        System.out.println("冒泡排序后: " + Arrays.toString(data));
    }
}
实操 3动态学生成绩花名册与降序排行榜管理系统StudentRosterManager.java
java
import java.util.ArrayList;
import java.util.Collections;

/**
 * 随堂实操任务 8:动态学生成绩花名册与降序排行榜管理系统
 * @author MatNoble
 */
public class StudentRosterManager {
    public static void main(String[] args) {
        ArrayList<Double> scoreList = new ArrayList<>();
        scoreList.add(88.5);
        scoreList.add(95.0);
        scoreList.add(72.0);
        scoreList.add(64.5);
        scoreList.add(91.0);

        // 降序排序
        scoreList.sort(Collections.reverseOrder());

        System.out.println("=========================================");
        System.out.println("          学生成绩降序排行榜          ");
        System.out.println("-----------------------------------------");
        for (int i = 0; i < scoreList.size(); i++) {
            System.out.printf("  第 %d 名 : %6.2f 分\n", (i + 1), scoreList.get(i));
        }
        System.out.println("=========================================");
    }
}

最后更新于:

数学思维探究社微信公众号图标

不想公开提问?

关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。

数学思维探究社