查找列中所有值的总和[RNG]
我正在编写一个打印出填充随机生成整数的表的程序。大部分逻辑相对简单,工作得很好。我想要做的一件事就是合计并打印出每列的总值,以及表格中所有值的最终总和。我曾四处搜寻试图找到答案,但没有找到答案。查找列中所有值的总和[RNG]
rowNbr = 7; // ROW CONTROLS colNbr = 5; //COLUMN CONTROLS
rpt01 = String.format("%0" + (colNbr-1) + "d", 0).replace("0",dash); //Redefine rpt01
colBld = String.format("|---------------|%s\n",rpt01); //Redefine colBld
String cnrTxt = "First Quarter";
System.out.printf(colBld);
System.out.printf("|%-15s",cnrTxt);
for(int i = 1; i < colNbr; i = i++){ //Open for loop (columns)
String regTxt = "Region " + i++;
System.out.printf("|%-10s",regTxt);
} //End for
System.out.printf("|\n");
//Initialize array
int sales[] = new int[100];
int idx = 0;
for(int i = 1; i <= rowNbr-3; i++){
String prodTxt = "Product " + i;
System.out.printf(colBld);
System.out.printf("|%-15s|",prodTxt);
for(int j = 0; j < colNbr-1; j++){ //Open for loop (columns 2)
sales[idx] = (int)(Math.random() * 16 + 1);
System.out.printf("%-10d|",sales[idx]);
idx++;
} //End for
System.out.printf("\n");
} //End for
int totalNbr = 0; //Placeholder zero
int regNbr = 0; //Placeholder zero
String totalTxt = "Final Total: ";
String regTxt = "Region Totals";
System.out.printf(colBld);
System.out.printf("|%-15s|%-10s|\n",regTxt,regNbr);
System.out.printf(colBld);
System.out.printf("|%s%s\n",totalTxt,totalNbr);
System.out.printf(colBld);
这里是代码现在看起来像运行一次:
|---------------|----------|----------|----------|----------| |First Quarter |Region 1 |Region 2 |Region 3 |Region 4 |
|---------------|----------|----------|----------|----------|
|Product 1 |2 |10 |3 |1 |
|---------------|----------|----------|----------|----------|
|Product 2 |15 |15 |7 |16 |
|---------------|----------|----------|----------|----------|
|Product 3 |15 |13 |7 |9 |
|---------------|----------|----------|----------|----------|
|Product 4 |4 |14 |11 |11 |
|---------------|----------|----------|----------|----------|
|Region Totals |0 |
|---------------|----------|----------|----------|----------|
|Final total: 0
|---------------|----------|----------|----------|----------|
老实说,不知道从哪里即使有这样的开始。任何帮助表示赞赏!
回答:
由于已经顺序地填充在销售阵列与随机整数值来表示顺序显示区它是然后在每个检测到的通过所述阵列元件中的区域的数量的增量步进和求和的元件的简单的事步。
要确定的地区将要显示和地区的数目总计跟踪,我们可以从包含在所述colNbr可变少1(5内的价值基础它的实际数量 - 1 =将显示4个区域)。
认识到这一点,我们宣布尚未命名的另一个整数数组regionTotals,并给它长度为4:
int[] regionTotals = new int[colNbr-1];
现在是通过销售数组元素步进,总结正确的事销售数组元素到合适区域总计元素,如下所示:
int regionCols = colNbr-1; int[] regionTotals = new int[regionCols];
int stepCounter = 0;
for (int i = 0; i < sales.length; i++) {
stepCounter++;
if (stepCounter > regionCols) { stepCounter = 1; }
int regionIndex = (stepCounter - 1);
regionTotals[regionIndex]+= sales[i];
}
System.out.println("\nRegion Totals: " + Arrays.toString(regionTotals) + "\n");
将上面的代码正上方的totalNbr整型变量的声明&初始化:
int totalNbr = 0; //Placeholder zero
如何格式化regionTotals数组元素融入到你的表是你的,但请记住,该数组基于零,因此数组的索引0处的元素包含区域1的求和。
以上是 查找列中所有值的总和[RNG] 的全部内容, 来源链接: utcz.com/qa/260725.html