nie rozumiem co nie działa w tym kodzie

0

```public static void main(String[] args) {
        // TODO code application logic here
        
        int tablica[][] = new int[10][10];
        for(int i =  0; i<= tablica.length; i++)
        {
            for(int j = 0; j<= tablica.length; j++)
            {
                if(i == j)
                   tablica[i][j] = 1;
                else 
                   tablica[i][j] = 0;
              System.out.print(tablica[i][j] + " ");
            }
            System.out.println();
        }
     }  



bład po else w "     tablica[i][j] = 0;"
nie rozumiem co i dlaczego tu jest źlee..bardzo proszę o pojaśnienie
2

zamień oba

<=

na

<

Bo wychodzisz poza index tablicy. Gdy i lub j są 10, to twój kod próbuje się odwołać np. do tablica[9][10], a to jest poza jej zakresem.

Wynik:

1 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 0 0 
0 0 0 0 0 1 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 
0 0 0 0 0 0 0 1 0 0 
0 0 0 0 0 0 0 0 1 0 
0 0 0 0 0 0 0 0 0 1 

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