Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Java]Tablice wielowymiarowe
bliitz
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

Ostrzeżenie: (0%)
-----


Witam

Mam takie oto tablice wielowymiarowe w Javie:
Kod
int ScrambleAddTable[][] = {
         {
             5, 3, 3, 6
         }
     };
     int ScrambleTable[][][] = {
         {
             {
                 2, 4, 1, 6, 9, 3, 3, 2
             }, {
                 2, 6, 2, 1, 4, 8, 9, 5
             }, {
                 2, 2, 3, 9, 1, 9, 7, 9
             }, {
                 4, 8, 6, 4, 3, 9, 3, 6
             }
         }
     };


w jaki sposób zapisać je w php?
Próbowałem czegoś takiego:

  1. public $ScrambleAddTable = array( array( 5, 3, 3, 6 ) );
  2.  
  3. public $ScrambleTable = array(
  4. array( 2, 4, 1, 6, 9, 3, 3, 2 ), array( 2, 6, 2, 1, 4, 8, 9, 5 ), array( 2, 2, 3, 9, 1, 9, 7, 9 ), array( 4, 8, 6, 4, 3, 9, 3, 6 )
  5. )
  6. );


ale to chyba nie to, inne pomysły nie przychodzą mi do głowy.


--------------------
Go to the top of the page
+Quote Post
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


  1. public $ScrambleTable = array(
  2. array( 2, 4, 1, 6, 9, 3, 3, 2 ),
  3. array( 2, 6, 2, 1, 4, 8, 9, 5 ),
  4. array( 2, 2, 3, 9, 1, 9, 7, 9 ),
  5. array( 4, 8, 6, 4, 3, 9, 3, 6 )
  6. );


--------------------
Go to the top of the page
+Quote Post
taktu
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 7
Dołączył: 19.05.2008

Ostrzeżenie: (0%)
-----


wywal słowo public i zadziała smile.gif


--------------------
Go to the top of the page
+Quote Post
bliitz
post
Post #4





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

Ostrzeżenie: (0%)
-----


czy nie jest teraz ona dwu zamiast trzy wymiarowa?


--------------------
Go to the top of the page
+Quote Post
flashdev
post
Post #5





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(bliitz @ 10.09.2009, 13:53:45 ) *
czy nie jest teraz ona dwu zamiast trzy wymiarowa?


Jest, być moze źle zrozumiałem Twój problem.

Możesz użyć instrukcji var_dump ze zmienną w parametrze, aby zobaczyć całą jej (obiektu, tablicy itp.) strukturę.

Cytat(bliitz @ 10.09.2009, 13:44:17 ) *
Kod
int ScrambleTable[][][] = {
         {
             {
                 2, 4, 1, 6, 9, 3, 3, 2
             }, {
                 2, 6, 2, 1, 4, 8, 9, 5
             }, {
                 2, 2, 3, 9, 1, 9, 7, 9
             }, {
                 4, 8, 6, 4, 3, 9, 3, 6
             }
         }
     };


Co do Twojego kodu w javie nie widzę sesnsu stosowania tutaj tablicy 3-wymiarowej.
I tak w zasadzie definiujesz tablicę 2-wymiarową.
Czy w javie nie jest tak jak w C++, że jeśli w nawiasie (klamrowym) nie podasz ilosci rozmiaru tablicy, to domyślnie dobierany wymiar to ilość podanych elementów?
Jeśli tak właśnie jest, to ta tablica mimo iż ma trzy wymiary nadal będzie użyteczna tylko jako dwuwymiarowa.

Ten post edytował flashdev 10.09.2009, 14:43:48


--------------------
Go to the top of the page
+Quote Post
bliitz
post
Post #6





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

Ostrzeżenie: (0%)
-----


Cytat(flashdev @ 10.09.2009, 15:43:00 ) *
Jest, być moze źle zrozumiałem Twój problem.

Możesz użyć instrukcji var_dump ze zmienną w parametrze, aby zobaczyć całą jej (obiektu, tablicy itp.) strukturę.



Co do Twojego kodu w javie nie widzę sesnsu stosowania tutaj tablicy 3-wymiarowej.
I tak w zasadzie definiujesz tablicę 2-wymiarową.
Czy w javie nie jest tak jak w C++, że jeśli w nawiasie (klamrowym) nie podasz ilosci rozmiaru tablicy, to domyślnie dobierany wymiar to ilość podanych elementów?
Jeśli tak właśnie jest, to ta tablica mimo iż ma trzy wymiary nadal będzie użyteczna tylko jako dwuwymiarowa.


problem w tym że odwołuje się do tej tablicy przykładowo w pętli for w następujący sposób

  1. for( $dig0 = $dig0 + $this->ResultArray[ $i ] + $this->ScrambleTable[ $MachIdx ][ $DayIdx ][ $i ]; $dig0 >= 10; )


i otrzymuje komunikat
Notice: Undefined offset: 3 in



--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:23