Gdzie jest błąd?

0
public class Homework {
    public static void main(String[] args) {
        int [] tablica = {10,20,30,5,10,15};
        int suma = 0;
        for (int i=0; i<=tablica.length; i++){
            suma = suma + tablica[i];
            System.out.println(suma);
        }
        }
    }

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Homework.main(Homework.java:16)

Process finished with exit code 1

11
  1. tablica.length to 6
  2. więc dla i=6 warunek i<=tablica.length jest prawdziwy
  3. więc wejdzie ci do środka pętli
  4. i spróbuje ci wywołać tablica[i], gdzie i wynosi 6.
  5. wywala się, bo nie ma takiego elementu (twoja tablica ma tylko 6 elementów, a i=6 odnosi się do siódmego)

Tablice liczą od 0. Czyli zerowy element, to na "polskie" pierwszy, a szósty element, to na polskie "siódmy". Nie masz siódmego elementu, (bo masz ich tylko 6), więc się wywala.
Powinno byc:

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

Poczytaj sobie o wyjątku ArrayIndexOutOfBoundsException

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