I'm new to java and I'm learning about creating object classes. One of my homework assignment requires that I call the constructor at least once within a method of the same object class. I'm getting an error that says The method DoubleMatrix(double[][]) is undefined for the type DoubleMatrix
Here's my constructor:
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
Here's the method where I try and call the constructor:
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
Can someone point me to the right direction and explain why I'm getting an error?
Can someone point me to the right direction and explain why I'm getting an error?
The reason is .. you are not declaring your object correctly. As few answers pointed out, you need to give a keyword called new
. This new
keyword creates a new object for the class DoubleMatrix
in Heap Memory.
else { newMatrix = new double[0][0]; new DoubleMatrix(newMatrix) }
Hope this helps
You can use this()
to call the constructor from inside another constructor (or super()
to call the parent class constructor) but you can't the constructor from another method. Maybe you meant to create a new object? If so, just use new Object();
. The constructor will be called for the new object.
You cannot call constructors from methods, you can call constructors only from other constructors using this or super keywords. You can only call a constructor once, and it has to be the first statement in your constructor body. If you do not call any constructor from a contructore body java compiler will implicitly insert super() statement into the constructor
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With