Wyświetlenie wszystkich wartości z tablicy dwuwymiarowej.

0

Witam a więc potrzebuje wyświetlić wszystkie wartości z trzech tablic w tablicy dwuwymiarowej, ale cos jest nie tak. Mój kod:

public class Zadd4{
public static void main(String[] args){



int[] tablica= new int[5];
int[] tablica1=new int[10];
int[] tablica2=new int[7];

for(int i=0; i<tablica.length; i++)
	
	tablica[i]=(int)(Math.random()*100);

for(int i=0; i<tablica1.length; i++)

	tablica1[i]=(int)(Math.random()*100);
	
for(int i=0; i<tablica2.length; i++)

	tablica2[i]=(int)(Math.random()*100);


int[][] tablicaWymiar= {tablica, tablica1, tablica2};

for(int i=0; i<tablicaWymiar.length; i++){
	for(int j=0; j<tablicaWymiar.length; j++)
		System.out.printf(tablicaWymiar[i][j]);
	
}	
System.out.println();
	


}

}
0

wiem ze trzeba cos z tym printf ale niestety nie wiem o co chodzi.

0
for(int i=0; i<tablicaWymiar.length; i++)
    for(int j=0; j<tablicaWymiar.length; j++)

przecież to nie ma tyle samo wierszy co kolumn

witu12 napisał(a):

wiem ze trzeba cos z tym printf ale niestety nie wiem o co chodzi.

System.out.println
0

jak to ?:O

1

tak to, że tablica pierwsza ma 5 elementów, druga 10 a trzecia 7.

0
for(int i=0; i<tablicaWymiar.length; i++){
	for(int j=0; j<tablicaWymiar[i].length; j++)

poprawiłem to, ale cały czas nie rozumiem co do ilosci kolumn i wierszy....

1

Chodzi o to, że każda Twoja początkowa tablica ma różną wartość ilości wpisów. Wyobraź sobie, że każda tablica to koszyk. W pierwszym koszyku masz 5 jabłek, w drugim 10 a w trzecim 7. I teraz te trzy koszyki dajesz do jednego, ogromnego - tak, żeby te trzy można było przenieść za jednym razem zamiast brać każdy kolejno.
Twoja pętla jest takim panem rozdającym te jabłka. Stoi nad koszykiem i wyciąga. Ty każesz mu wybierać z każdego koszyka kolejno. No i ten pan tak wybiera kolejno ta jabłka, wybiera i wybiera ale napotyka błąd bo w pierwszym koszyku już nie ma jabłek a Ty cały czas każesz mu je wybierać z tego pierwszego kosza. Tylko, że on już jest pusty! Dlatego musisz użyć kodu który weźmie pod uwagę rozmiar kosza:

 int pomocnicze = 0;
        for (int i = 0; i < tablicaWymiar[2].length; i++) {
            for (int j = 0; j < tablicaWymiar[pomocnicze].length; j++) {
                System.out.println(tablicaWymiar[pomocnicze][j]);
                System.out.println();
            }
            pomocnicze++;
        }

Programuje dwa miesiące więc w tym co pisze może być kilka błędów, ale działa!:D Sam w dwa miesiące nauczyłem się dość niewiele:D

@Edit. Dobra, to jednak nie działa jak powinno. Wszystko byłoby okej gdyby tablice były uporządkowane od najmniejszej do największej.

@EDIT2
for (int i = 0; pomocnicze < tablicaWymiar.length; i++)

Teraz dziala:D

0

czy to jest jedyne rozwiązanie?

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