Java实现:从15x7矩阵的行总和中找出最大值(附代码求助)
完善代码找出观影人数最多的电影
现有代码仅完成了每部电影总观影人数的计算,但未对这些总和进行比较,也未记录哪部电影的总人数最多。我们需要添加变量跟踪当前最大观影人数及对应电影编号,在循环中实时更新这两个值。
以下是修改后的完整代码:
private void PeliculaMasVistaButtonActionPerformed(java.awt.event.ActionEvent evt) { // 初始化最大观影人数为最小值,确保第一个电影的总和能覆盖它 int maxAttendance = Integer.MIN_VALUE; // 记录对应电影的索引(从0开始,对应第1到15部电影) int mostPopularMovieIndex = -1; for (int i = 0; i < 15; i++) { int sumRows = 0; for (int j = 0; j < 7; j++) { sumRows += Main.attendants[i][j]; } // 比较当前电影的总人数与当前最大值,更新记录 if (sumRows > maxAttendance) { maxAttendance = sumRows; mostPopularMovieIndex = i; } } // 示例输出逻辑:打印结果(可替换为弹窗等UI交互) // 电影编号从1开始显示,因此索引加1 System.out.println("观影人数最多的电影是第" + (mostPopularMovieIndex + 1) + "部,总观影人数:" + maxAttendance); }
关键说明
Integer.MIN_VALUE作为初始最大值,确保第一个计算出的电影总人数能顺利更新变量,避免初始值设置不合理导致的错误。mostPopularMovieIndex存储当前总人数最多的电影索引,每次发现更大的总和时立即更新。- 最后可根据实际需求调整结果的展示方式,比如通过UI组件弹窗提示,而非控制台打印。
内容的提问来源于stack exchange,提问作者Santiago
相关产品推荐
相关产品推荐

