加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从同一个类中的方法调用构造函数

发布时间:2020-12-15 00:48:28 所属栏目:Java 来源:网络整理
导读:我是 java新手,我正在学习创建对象类.我的一个家庭作业要求我在同一个对象类的方法中至少调用一次构造函数.我收到一条错误,说明DoubleMatrix类型未定义方法DoubleMatrix(double [] []) 这是我的构造函数: public DoubleMatrix(double[][] tempArray){ // De
我是 java新手,我正在学习创建对象类.我的一个家庭作业要求我在同一个对象类的方法中至少调用一次构造函数.我收到一条错误,说明DoubleMatrix类型未定义方法DoubleMatrix(double [] [])

这是我的构造函数:

public DoubleMatrix(double[][] tempArray)
{
    // Declaration
    int flag = 0;
    int cnt;

    // Statement

    // check to see if doubArray isn't null and has more than 0 rows
    if(tempArray == null || tempArray.length < 0)
    {
        flag++;
    }

    // check to see if each row has the same length
    if(flag == 0)
    {
        for(cnt = 0; cnt <= tempArray.length - 1 || flag != 1; cnt++)
        {
            if(tempArray[cnt + 1].length != tempArray[0].length)
            {
                flag++;
            }
        }
    }
    else if(flag == 1)
    {
        makeDoubMatrix(1,1);// call makeDoubMatrix method
    }

}// end constructor 2

这是我尝试调用构造函数的方法:

public double[][] addMatrix(double[][] tempDoub)
{
    // Declaration
    double[][] newMatrix;
    int rCnt,cCnt;

    //Statement

    // checking to see if both are of same dimension
    if(doubMatrix.length == tempDoub.length &&
            doubMatrix[0].length == tempDoub[0].length)
    {
        newMatrix = new double[doubMatrix.length][doubMatrix[0].length];

        // for loop to add matrix to a new one
        for(rCnt = 0; rCnt <= doubMatrix.length; rCnt++)
        {
            for(cCnt = 0; cCnt <= doubMatrix.length; cCnt++)
            {
                newMatrix[rCnt][cCnt] = doubMatrix[rCnt][cCnt] + tempDoub[rCnt][cCnt];
            }
        }
    }
    else
    {
        newMatrix = new double[0][0];
        DoubleMatrix(newMatrix)
    }

    return newMatrix;
}// end addMatrix method

有人能指出我正确的方向,并解释为什么我收到错误?

解决方法

有人能指出我正确的方向,并解释为什么我收到错误?

原因是……你没有正确地声明你的对象.由于答案很少,您需要提供一个名为new的关键字.这个新关键字为堆内存中的DoubleMatrix类创建一个新对象.

else { newMatrix = new double[0][0]; new DoubleMatrix(newMatrix) }

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读