外观
随堂实操任务清单 第 7 讲
💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。
实操 1数组堆内存连续模型与常用 Arrays 工具类演示
ArrayMemoryDemo.javajava
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.javajava
/**
* 二维数组本质与矩阵转置操作
* @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.javajava
/**
* 随堂实操任务 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("=========================================");
}
}
不想公开提问?
关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。