【问题标题】:Accumulating Rows In A Two Dimensional Array在二维数组中累积行
【发布时间】:2016-12-09 20:31:20
【问题描述】:

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

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);
        }
    }
}

【问题讨论】:

  • 只需将 System.out 移到外循环?
  • 在你的内部 for 循环之后但在外部循环结束之前添加 sum=0;

标签: java arrays for-loop


【解决方案1】:

试试这个:

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);
    }
}

不同之处在于您将打印移至外循环。这样,内循环会做一行的总和,然后当总和完成时,外循环会打印出来。

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 1970-01-01
    • 2019-09-20
    • 2016-07-11
    • 1970-01-01
    • 2023-01-20
    • 2013-10-16
    • 2021-02-11
    • 1970-01-01
    相关资源
    最近更新 更多