0

我正在开发一个程序,该程序将使用二维数组来创建一个需要 5 行和 4 列的表。在出现的值的右侧应该有每一行的总和,下面的每一列的总和。这是它的样子:

                Emp. 1  Emp. 2  Emp. 3  Emp. 4  Product Totals
Product 1 ---->   12      24      18      23         77
Product 2 ---->   10      8       12      19         49
Product 3 ---->   28      40      22      16         106
Product 4 ---->   4       28      49      3          84
Product 5 ---->   14      17      25      9          65
//////////////////////////////////////////////
Emp. Totals -->   68      117     126     70

我遇到的问题是我无法弄清楚如何添加行和列。这是我到目前为止的代码。

public class TotalSales {

    /**
     * B. Stephens
     * CSC-151
     * This program will summarize the total sales by salesperson and product
     */
    public static void main(String[] args) {

        // create and assign values to multidimensional array
        int [][] Sales = { {12,24,18,23}, {10,8,12,19}, {28,40,22,16}, {4,28,49,3}, {14,17,25,9} };

        // display categories
        System.out.println("                 Emp. 1  Emp. 2  Emp. 3  Emp. 4  Product Totals");

        // declare ProductCounter
        int ProductCounter = 1;

        // display array
        for (int row = 0; row < Sales.length; row++){
            System.out.print("Product " + ProductCounter + " -----> ");
            for (int column = 0; column < Sales[row].length; column++){
                System.out.printf("  %d\t", Sales[row][column]);
            }
            ProductCounter ++;
            System.out.println();
        }

        System.out.println("////////////////////////////////////////////////////////////////");
        System.out.println("Emp. Totals -->");

    } // end main

} // end class

我一开始展示的表格只是一般格式。我需要在一个月后显示这些结果,那么如何让它运行 30 次并将所有这些结果加在一起以显示每月总数?我是否应该添加另一个带有 counter=0 且只要 counter < 30 的 for 循环?如果是这样,我将如何添加所有结果?我不需要每天的总数。我只是用它作为我需要的格式的一个例子。

4

1 回答 1

0

就像int[] totals = {0, 0, 0, 0};在应用程序的开头一样,

int total = 0;在第一个for循环的开始,

total += Sales[row][column]; totals[column] += Sales[row][column];在第二个for循环内,

printf(total);就在第一个循环结束后,

最后是:

for (int column = 0; column < totals.length; column++){
    System.out.printf("  %d\t", totals[column]);
}
于 2013-10-20T00:55:20.533 回答