Skip to content

随堂实操任务清单 第 7 讲

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

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


实操 1数组堆内存连续模型与常用 Arrays 工具类演示ArrayMemoryDemo.java
java
import java.util.Arrays;

/**
 * 数组堆内存连续模型与常用 Arrays 工具类演示
 * @author MatNoble
 */
public class ArrayMemoryDemo {
    public static void main(String[] args) {
        int[] scores = { 85, 92, 78, 96, 64 };

        // 1. 数组长度与快速格式化打印
        System.out.println("数组元素: " + Arrays.toString(scores));
        System.out.println("数组长度: " + scores.length);

        // 2. 数组拷贝
        int[] copy = Arrays.copyOf(scores, scores.length);
        Arrays.sort(copy);
        System.out.println("排序后拷贝副本: " + Arrays.toString(copy));

        // 3. 二分查找 (必须先排序)
        int idx = Arrays.binarySearch(copy, 85);
        System.out.println("元素 85 在排序数组中的位置: " + idx);
    }
}
实操 2二维数组本质与矩阵转置操作MatrixTransposeDemo.java
java
/**
 * 二维数组本质与矩阵转置操作
 * @author MatNoble
 */
public class MatrixTransposeDemo {
    public static void main(String[] args) {
        // 2 行 3 列矩阵
        int[][] matrix = {
            { 1, 2, 3 },
            { 4, 5, 6 }
        };

        int rows = matrix.length;
        int cols = matrix[0].length;
        int[][] transpose = new int[cols][rows]; // 3 行 2 列

        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                transpose[j][i] = matrix[i][j];
            }
        }

        System.out.println("========== 转置后的矩阵 ==========");
        for (int i = 0; i < transpose.length; i++) {
            for (int j = 0; j < transpose[i].length; j++) {
                System.out.printf("%3d ", transpose[i][j]);
            }
            System.out.println();
        }
        System.out.println("==================================");
    }
}
实操 3学生考试成绩统计分析器 (最高分/最低分/平均分/方差)ScoreStatistics.java
java
/**
 * 随堂实操任务 7:学生考试成绩统计分析器 (最高分/最低分/平均分/方差)
 * @author MatNoble
 */
public class ScoreStatistics {
    public static void main(String[] args) {
        double[] scores = { 88.5, 92.0, 76.5, 95.0, 68.0, 84.5, 91.0, 59.5 };

        double max = scores[0];
        double min = scores[0];
        double sum = 0.0;

        for (double s : scores) {
            if (s > max) max = s;
            if (s < min) min = s;
            sum += s;
        }
        double avg = sum / scores.length;

        // 计算方差
        double varianceSum = 0.0;
        for (double s : scores) {
            varianceSum += Math.pow(s - avg, 2);
        }
        double variance = varianceSum / scores.length;
        double stdDev = Math.sqrt(variance);

        System.out.println("=========================================");
        System.out.println("          班级成绩统计分析报告          ");
        System.out.println("-----------------------------------------");
        System.out.printf("  * 样本人数 : %d 人\n", scores.length);
        System.out.printf("  * 最高分   : %.2f 分\n", max);
        System.out.printf("  * 最低分   : %.2f 分\n", min);
        System.out.printf("  * 平均分   : %.2f 分\n", avg);
        System.out.printf("  * 样本方差 : %.2f\n", variance);
        System.out.printf("  * 标准差   : %.2f\n", stdDev);
        System.out.println("=========================================");
    }
}

最后更新于:

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

不想公开提问?

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

数学思维探究社