początkujący problem z klasą

0

w poniższym kodzie za nic nie moge dojść czemu metoda public int[][] ExpandedArray() nie zwraca mi nic i kompilator pluje sie ze nie ma pojecia co to jest Ary1 mimo ze jest to wejscie klasy z konstruktora. Jestem poczatkujacy i pewnie jakies bledy skladniowe ale nie wiem jakie, moze ktos rzucic okiem?

public class test {

/**
 * Creates a new instance of `test`.
 */
public test() {
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
	
	int[][]Ary1=new int[4][4]; 
	
	for(int i=0; i<(4);i++) 
    {
            for(int j=0; j<(4);j++){
            	Ary1[i][j]=i;
            }
    }
            	
	 ExpandArray ExpanderR=new ExpandArray(Ary1);
	 int[][]Aryyy=ExpanderR.ExpandedArray();
  
}

}

class ExpandArray
{

public ExpandArray(int[][] Ary1)
{
	int[][] AryEx=new int[4][4];
	AryEx=Ary1;
	
	
}

 public int[][] ExpandedArray()
	{
		int[][] arrayExpOut=new int[4][4];
            		arrayExpOut=Ary1;
          return arrayExpOut;  	
  }           	

}

0

Ary1 w konstruktorze jest zmienna lokalna. Konstruktor sie konczy, zmienna znika.

Zakladam, ze celem konstruktora jest zapamietanie przekazanego parametru w obiekcie, wiec zrob tak:

class ExpandArray
	{
	private int[][] array;
	public ExpandArray(int[][] Ary1)
		{
		array = Ary1;
		}
	public int[][] ExpandedArray()
		{
		return array;
		}
	}

PS.
taki schemat kodu

int[][] arrayExpOut = new int[4][4];
arrayExpOut = Ary1;

W pierwszej linii niepotrzebnie tworzysz nowa tablice, gdyz w kolejnej od razu ja nadpisujesz.

Wystarczy w pierwszej linii utworzyc pusta referencje:

int[][] arrayExpOut;
arrayExpOut = Ary1;

//albo krocej
int[][] arrayExpOut = Ary1;
0

rewelacja o to chodzi! Posłużyłem się do konstrukcji tej klasy przykładem na stringach z Java podstawy... ha i widzę że rzeczywiście pominąłem tą kwestie deklaracji, tu na dole na str 135 jest każdy element jako private zadeklarowany, myślałem że sobie te wartości trzyma i nie trzeba tego robić. Dzięki wielkie za szybką odpowiedź!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1