Java - tworzenie tablicy przez funkcję

0

Mam taki program:

 package pl.java.moj_pakiet;

import java.util.Random;

public class Tab {
	
	public static void main(String[] args) {
		int tab[][] = new int [4][];
		tab[0] = new int [3];
		tab[1] = new int [4];
		tab[2] = new int [5];
		tab[3] = new int [1];
		
		Tab go = new Tab();
		
		go.Wprowadz(tab);
		
		int tab2[][] = null;
		
		go.Wypelnij(tab, tab2);
		
		go.Wyswietl(tab2);
		
	}
	
	public void Wprowadz(int t[][])
	{
			Random rn = new Random();
			
			int i, j;
			int n = t.length;
			for (i = 0; i < n; i++)
			{
				int m = t[i].length;
				for (j = 0; j < m; j++)
					t[i][j] = rn.nextInt();
			}
	}
	
	public void Wypelnij(int t1[][], int t2[][])
	{
		int max = 0;
		
		for (int i = 0; i < t1.length; i++)
			if (max < t1[i].length)
				max = t1[i].length;
		
		t2 = new int [t1.length][max];
		
		for (int i = 0; i < t1.length; i++)
		{
			for (int j = 0; j < t1[i].length; j++)
				t2[i][j] = t1[i][j];
			
			for (int j = t1[i].length; j < max; j++)
				t2[i][j] = -5;
		}
	}
	
	public void Wyswietl(int t[][])
	{
		for (int i = 0; i < t.length; i++)
		{
			for (int j = 0; j < t[i].length; j++)
				System.out.println(t[i][j] + "\t");
			
			System.out.println("\n");
		}
		
	}
}

Eclipse wyrzuca takie coś:

 Exception in thread "main" java.lang.NullPointerException
	at pl.java.moj_pakiet.Tab.Wyswietl(Tab.java:62)
	at pl.java.moj_pakiet.Tab.main(Tab.java:22)

Czy to znaczy, że nie mogę utworzyć tablicy w funkcji?

0

Referencja tab2 w metodzie main dalej wskazuje na nulla.

Takie samo zachowanie jest w C++:

#include<cstdio>

void metoda(int *tablica) {
    tablica = new int[5];
}
 
int main(){
    int *tablica = NULL;
    metoda(tablica);
    printf("%d\n", tablica[3]);
    return 0;
}

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