Forum zamknięte. Zapraszamy do grupy na Facebooku
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Tablice wielowymiarowe
12-21-2011, 09:01 PM
Post: #1
Tablice wielowymiarowe
Dyskusja na temat lekcji:
http://javastart.pl/podstawy-jezyka/tabl...wymiarowe/
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-06-2012, 04:36 PM
Post: #2
Question RE: Tablice wielowymiarowe
Witam, odrabiałem "pracę domową" i mam mały problem. Kiedy pisałem i co jakiś czas testowałem wyskakiwał błąd "Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 3 at JedenCzternaście.main(JedenCzternaście.java:18)" i nie wiem dlaczego. Tym bardziej że sprawdziłem w odpowiedziach i wszystko powinno działać. Kod przebudowałem bez wklejania do takiej postaci jak w odpowiedziach - nadal błąd. Zacząłem wklejać poszczególne linijki i zauważyłem dzięki której się poprawia - for(int j=0; j< tab[i].length; j++). Problem jest taki że nie widzę żadnej różnicy między dobrą a złą linijką. Tutaj kod:

Kod:
public class JedenCzternaście {
/*
public static void main(String[] args){
          int[][] tab = new int[2][3];
          int licznik=0;

          for(int i=0; i< tab.length; i++)
              for(int j=0; j< tab[i].length; j++)
                  tab[i][j] = licznik++;
*/
///*
public static void main(String[] args){
    int[][] tab = new int[2][3];
    int zmienna=0;
    
      for(int i=0; i< tab.length; i++)
        for(int j=0; i< tab[i].length; j++)
            tab[i][j] = zmienna++;
//*/
}
}
A tutaj te dwie linijki:
for(int j=0; j< tab[i].length; j++)
for(int j=0; i< tab[i].length; j++)

PS. Używam Eclipse
PS.PS.Z odczytem i zapisem pliku też wyskakiwał jakiś błąd nawet jak zrobiłem ctrl-c ctrl-v
Pozdrawiam Jantomedes
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-06-2012, 05:48 PM
Post: #3
RE: Tablice wielowymiarowe
Dlaczego wpisałeś dwa razy metodę main??, z tego co widzę to tylko załadowałeś wartości do tablic, a gdzie masz odczyt z tych tablic??
Pozdrawiam

http://www.csharpprogramowanie.republika.pl/
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-06-2012, 10:37 PM (Ten post był ostatnio modyfikowany: 02-06-2012 10:38 PM przez Marcin.)
Post: #4
RE: Tablice wielowymiarowe
(02-06-2012 04:36 PM)Jantek napisał(a):  A tutaj te dwie linijki:
for(int j=0; j< tab[i].length; j++)
for(int j=0; i< tab[i].length; j++)

W pierwszej masz j< a w drugiej masz i<, inna zmienna.
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-07-2012, 10:06 AM (Ten post był ostatnio modyfikowany: 02-07-2012 10:12 AM przez Witek.)
Post: #5
RE: Tablice wielowymiarowe
Witam
Jak chcesz to pobaw się z tym, ten program działa jest to tablica dwuwymiarowa, możesz ją trochę przerobić.
kod
Kod:
public class Tablica_Dwuwymiarowa {

    /**
     * @autor witek
     */
    public static void main(String args[])
    {
    
        int wynik = 0;
        int tab[][] = new int[3][5];
        
        for(int i = 0; i < 3; i++)
            for(int j = 0; j < 5; j++)
                tab[i][j] = i + j;
                
                for(int i = 0; i < 3; i++)
                System.out.println("Wartosci w tab [i] to: " + i);
                System.out.println();
                
                for(int j = 0; j < 5; j++)
                System.out.println("Wartosci w tab[j] to: " + j);
                System.out.println();
                
        for(int x[]: tab) {
            for(int y: x) {
                
                wynik += y;
            }
        }
        System.out.println("Suma tablic wynosi: " + wynik);
    }
}

http://www.csharpprogramowanie.republika.pl/
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-07-2012, 05:15 PM (Ten post był ostatnio modyfikowany: 02-07-2012 05:18 PM przez Jantek.)
Post: #6
RE: Tablice wielowymiarowe
Metody main są dwa gdyż testowałem obie i jak widziesz jedna jest objęta /* */ a druga ///* //*/ tak żeby można było zmieniać używaną metodę dodają lub ucinając dwa ukośniki. Klasa nie jest skończona gdyż co jakiś czas testuję kod i zdziwiłem się co tutaj nie działa. Sam nie widziałem co źle działało, a błąd wydawał mi się od czapy gdyż użyłem length. Nie widziałem błędu w kodzie, Eclipse też nie więc zajrzałem do odpowiedzi. Problem leżał w tym że zrobiłem literówkę i napisałem w pętli "i" zamiasta "j" co trudno zauważyć. Pomocy udzielił mi Marcin za co jestem mu wdzięczny a on dostaje +1. Pozdrawiam i dziękuję wszystkim. Jantek

PS. Co jaki czas tu wchodzi Sławek?
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
02-10-2012, 12:58 AM
Post: #7
RE: Tablice wielowymiarowe
Co jakiś czas Smile Problem w tym, że do komentarzy dostaję powiadomki, do postów na forum by mnie pewnie spam zalał kiedyś. Mam całe 4 dni wolnego między semestrami n uczelni, więc zabieram się do napisania jakiejś nowej lekcji kursu.
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
07-31-2013, 03:31 PM
Post: #8
RE: Tablice wielowymiarowe
czy ktos jest w stanie wyjaśnić mi w jakiej kolejności przypisywane są zmienne do tablicy przykład :
coordsTable = new int[][][] {
{ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
{ { 0, -1 }, { 0, 0 }, { -1, 0 }, { -1, 1 } },
{ { 0, -1 }, { 0, 0 }, { 1, 0 }, { 1, 1 } },
{ { 0, -1 }, { 0, 0 }, { 0, 1 }, { 0, 2 } },
{ { -1, 0 }, { 0, 0 }, { 1, 0 }, { 0, 1 } },
{ { 0, 0 }, { 1, 0 }, { 0, 1 }, { 1, 1 } },
{ { -1, -1 }, { 0, -1 }, { 0, 0 }, { 0, 1 } },
{ { 1, -1 }, { 0, -1 }, { 0, 0 }, { 0, 1 } }
};
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości