Witam!
Piszę klasę, odpowiedzialną za działania na macierzach, jednak już prosta operacja jaką jest wyświetlenie macierzy sprawia mi kłopot. Wyskakuje mi błąd: Exception in thread "main" java.lang.NullPointerException at Matrix.showMatrix(Matrix.java:35).
Kod programu: http://pastebin.com/3XAzh722
W czym tkwi problem? Z góry dziękuję za odpowiedzi ;)
0
1
Czy Ty próbujesz wywołać metodę showMatrix()
w ten sposób: Matrix.showMatrix()
? Jeżeli tak, to przecież nie jest to metoda statyczna i taka próba wywołania powoduje, że metoda ta nie ma "na czym" wykonać opisanych w jej ciele czynności. Tzn. najpierw musisz utworzyć referencję do instancji obiektu Matrix
, czyli Matrix matrix = new Matrix(5, 5, 10);
, a następnie dla tej referencji wywołać metodę, tj. matrix.showMatrix();
.
1
public class Matrix {
int [][] iMatrix;
int iLine, iColumn, valueOf;
public Matrix (int iC, int iL, boolean bRandom)
{
int[][] iMatrix = new int [iL][iC]; //błąd, tworzysz zmienną lokalną, która nazywa się tak samo jak pole w klasie, a pole
//nadal ma wartość null
iLine = iL;
zamień na
public class Matrix {
int [][] iMatrix;
int iLine, iColumn, valueOf;
public Matrix (int iC, int iL, boolean bRandom)
{
iMatrix = new int [iL][iC];
iLine = iL;
0
Witam :p Dziękuję bogdans, teraz działa. Wiedziałem, że musi to być jakiś głupi błąd. Temat można zamknąć ;)