繁体   English   中英

创建算法以在Java 2D数组中添加主要对角线的值

[英]Create algorithm to add values of primary diagonals in a java 2d array

我是这个论坛的新手,所以如果已经解决了这个问题,请原谅我。 我有一个课堂作业,内容如下:

  • 创建一个int数据类型的10 x 10二维数组
  • 加载数组中每个索引位置的行与列之和
  • 创建和算法,将对角线索引中的所有值相加从0,0到9,9,并打印总计
  • 创建和算法,将对角线索引中的所有值相加从0.9到9.0,并打印总计
  • 打印两个对角线的相加

创建数组没有问题,但是我对如何添加主要对角线感到困惑。 它尝试了一个解决方案,该解决方案我在此职位的另一篇文章中看到,但是我一直在寻找Return Total值,指出它不能为void。 无论如何,这是我到目前为止的代码:

import java.util.*;
import java.io.*;
import static java.lang.System.out;

public class AddDiagonals2
{
    public static void main (String args[])
    {
    int[][] numbers = new int [10][10];
        row = 0; col = 0;
        int sum1 = 0, sum2 = 0;
        for (int row = 0; row < numbers.length; row++)
     {
         for (int col = 0; col < numbers[row].length; col++)
         {
             numbers[row][col] = row + col;
             out.print (numbers[row][col] +"\t");
         }
         out.println();
    }

这是我尝试从其他帖子中添加的内容,以计算对角线,但没有用。

        for (int row = 0; row < numbers.length; row++)
        {
            sum1 = sum1 + numbers[row][row];
        }
        row = numbers.length-1;
        for (col = 0; col < numbers.length; col++)
        {
            if (col >= 0)
        {
             sum2 = sum2 + numbers[row][col];
             col--;
        }
        out.println ("Sum of the Diagonal elements are : " + sum1 + " and " + sum2);
}

}

sum2 = sum2 + numbers[row][col];

不应该是[col] [col]吗? 我只是略读了一下,我可能是错的。

 for (col = 0; col < numbers.length; col++)
        {
            if (col >= 0)
        {
             sum2 = sum2 + numbers[row][col];
             col--;
        }

您要在循环头中递增col,然后在循环主体中再次递减它。 您希望col从0到9,行从9到0(或者相反)。 由于您从0开始col并在numbers.length-1 ,因此每个循环一次增加col并减少行。 需要注意的是,你实际上可以为环头,这样做的,使用,来分割语句:

for (col = 0; col < numbers.length; col++, row--)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM