java - 在二维数组中累积行

标签 java arrays for-loop

我正在尝试创建以下输出:

TOTAL SALES BY REGION

Region 1: 7,845.00

Region 2: 5,636.00

Region 3: 7,879.00

Region 4: 9,174.00

来自这个数组:

double[][] sales = {{1540.0, 2010.0, 2450.0, 1845.0},       // Region 1 sales
                    {1130.0, 1168.0, 1847.0, 1491.0},       // Region 2 sales
                    {1580.0, 2305.0, 2710.0, 1284.0},       // Region 3 sales
                    {1105.0, 4102.0, 2391.0, 1576.0}};      // Region 4 sales

这是我目前所拥有的,但它打印了数组中的所有数字加上累加,我如何只打印每一行的总和?此外,它必须在普通的嵌套 for 循环中完成。

public void print(double [][] salesArray) 
{
    NumberFormat currency = NumberFormat.getCurrencyInstance();

    for (int i = 0; i < salesArray.length; i++) {
        double sum = 0.0;
        for (int j = 0; j < salesArray[0].length; j++) {
            sum += salesArray[i][j];
            System.out.println(sum);
        }
    }
}

最佳答案

试试这个:

public void print(double [][] salesArray) 
{
    NumberFormat currency = NumberFormat.getCurrencyInstance();

    for (int i = 0; i < salesArray.length; i++) {
        double sum = 0.0;
        for (int j = 0; j < salesArray[0].length; j++) {
            sum += salesArray[i][j];
        }
        System.out.println(sum);
    }
}

不同之处在于您将打印移出到外循环。这样,内循环将对一行求和,然后当求和完成时,外循环将打印它。

关于java - 在二维数组中累积行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068414/

相关文章:

java - 为什么我们必须在代码顶部声明一个包?

c - 如何将二维数组写入文件并返回 C

c++ - 如何创建变量数组 Arduino

python - 如何将字典列表拆分为 2 个单独的字典列表并进行相等性检查

java - ListFragment 和 Fragment

java - 如何在屏幕抓取时使用 cookie?

java - 我可以使用 'for each' 循环从字符串参数创建 int 数组吗?

qt - 从qt项目中引用dll文件

透明颜色绘图的java性能影响?

java - 如何修改一个字段的一个公共(public)字段...如link.next.next.next(.next*n) n次