java - 构造一个二维数组并赋值

标签 java arrays 2d

package homework3;

public class DoubleMatrix
{

   private double[][] doubMatrix;

   public DoubleMatrix (int row, int col)
   {
    if(row > 0 & col > 0)
    {
        makeDoubMatrix(1,1);
    }
    else
    {
        row = 1;
        col = 1;
    }

}
public DoubleMatrix(double[][] tempArray)
{   
    int k = tempArray.length;
    if(tempArray != null)
    {


        for(int i = 0; i < tempArray.length;i++)
        {
            if(k== tempArray[i].length)
            {


            }

        }   
     }
    else
    {
        makeDoubMatrix(1,1);
    }

}


}

这就是我应该开始我的作业: 编写一个名为 DoubleMatrix 的类,在其中声明 2-dim。 double 组(我称之为 doubMatrix)作为私有(private)实例变量。包含以下构造函数或实例方法(此处没有静态方法):

  • 第一个维度的构造函数(确保它 > 0,如果不是,则设置为 1)和第二个维度的 int(确保它 > 0,如果不是,则设置为 1),并调用 makeDoubMatrix 私有(private)实例方法(见下文)
  • 另一个具有 2-dim 的构造函数。 double 组作为其参数(如果参数不为 null 并且每行与其他行的长度相同,则分配),否则,使用 1, 1 调用 makeDoubMatrix)

有人可以检查我是否正确地检查了第二个构造函数吗?另外,我在第二个 if 中省略了分配语句,因为我不知道分配什么,任何人都可以告诉我分配什么,因为问题只说分配,但没有说分配给什么值。

最佳答案

您必须首先检查每一行,它们的长度是否相同。您可以维护一个 boolean flag 变量,一旦您发现当前行与下一行的长度不同,就可以将其设置为 false

您可以尝试下面的代码,并测试它是否有效:-

public DoubleMatrix(double[][] tempArray)
{   
    if(tempArray != null)
    {
        boolean flag = true;
        for(int i = 0; i < tempArray.length - 1;i++)
        {   
            // Check each row with the next row
            if(tempArray[i].length != tempArray[i + 1].length)
            {
                 // as you find the row length not equal, set flag and break
                 flag = false;
                 break;
            }
        }   
        if (flag) {
            doubleMatrix = tempArray;
        } else {
            makeDoubleMatrix(1,1);
        }
     } else {
        makeDoubleMatrix(1, 1);
     }
}

关于java - 构造一个二维数组并赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097149/

相关文章:

java - 从命令行编译一个 eclipse GWT 项目,没有 eclipse : compile error

Java,在类中使用变量

arrays - 相对于数组的两端对数组进行切片的惯用方法是什么?

Python 按元素编号范围定义的步骤对 2D 数组求和

r - R中邻居的空间数据/计算指标

java - org.hibernate.internal.util.xml.XMLHelper.<init>(Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService 但它不存在

java - 如何在 Intent 中插入 fragment (Android)

javascript - 如果日期匹配,则通过单个电子邮件发送所有行

javascript - 如何在javascripts中获取唯一的对象数组

vector - 从 3D 平面上的 3D 点检索 2D 坐标