java - 如何显示二维数组中的最大数量?
问题描述
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Random;
public class labb8 {
public static void main(String[] args) {
Random rnd = new Random();
int[][] sales = new int[5][7];
int[] total = new int[sales.length];
ArrayList<String> unpopularSoftware = new ArrayList<String>();
String[] locations = {"Houston", "Dallas", "Hunts", "San Ant", "Austin"};
System.out.println("Location\t| Software Sales\t\t| Total Sales");
System.out.println("--------------------------------------------------");
for (int i = 0; i < sales.length; i++) {
for (int j = 0; j < sales[i].length; j++) {
sales[i][j] = rnd.nextInt(25);
total[i] += sales[i][j];
}
System.out.print(locations[i] + "\t\t|");
System.out.print(" " + Arrays.toString(sales[i]));
System.out.println("\t| " + total[i]);
}
int unpopularModelCounter;
for (int j = 0; j < sales[0].length; j++) {
unpopularModelCounter = 0;
for (int i = 0; i < sales.length; i++) {
if (sales[i][j] != 0) {
unpopularModelCounter++;
}
}
if (unpopularModelCounter <= 3) {
unpopularSoftware.add("Software " + (j + 1));
}
}
System.out.println("Unpopular Software: " + unpopularSoftware);
System.out.println("Location with most sold licenses: ");
}
}
以上是代码,它给了我正在寻找的结果;但是,我想知道一些关于如何打印出拥有最多销售软件的位置的名称的方法?我尝试过的System.out.println(total[i]);
只是System.out.println("\t| " + total[i]);
显示所有总数,这就是我认为会发生的情况。我还尝试将System.out.println(total[i]);
其他输出行放在底部的位置(这是我想要的位置),但代码找不到 [i],这让我相信我可能必须创建一些方法;因此,我再次要求就如何打印出就我的代码而言销售量最大的城市名称提供一些建议。
解决方案
如果您希望城市名称的总数最高,您需要查看total
数组中的最大总数,同时跟踪您迄今为止看到的最大总数和您看到的索引最大的总数。
像这样的东西应该可以很好地完成这项工作:
// Our initial guess is that `total[0]` is the maximum sales total.
int maxSales = total[0];
int maxI = 0;
for (int i = 1; i < total.length; ++i) {
if (totals[i] > maxSales) {
maxSales = total[i];
maxI = i;
}
}
System.out.println(locations[maxI] + " has the most sales: " + maxSales);
推荐阅读
- python - 根据 Python 中的时间戳日期创建多个数据帧
- mysql - mysql workbench中knex的查询结果不收敛
- r - 检测连续单词与数字并移动它们的功能?
- javascript - React Native Expo - 在变量赋值之前设置初始值
- node.js - 我的节点和 npm 已经是最新版本
- angular11 - 搜索结果仅在第二次点击时显示,Angular 11
- java - 计算对象的非空数
- unreal-engine4 - 有没有办法用下划线和数字自动附加 BP 类实例?
- ios - 改IMEI绕过icloud?
- python - Python:如何在使用 2D 布尔掩码时从 2D numpy 数组中逐行获取所有第一个值