Wsteczna propagacja błędu - wykrywanie gestów - błąd

Odpowiedz Nowy wątek
2014-12-17 08:12
0

Witam napisałem program do wykrywania błędów metodą sztucznej propagacji, program jest w zasadzie ukończony jednakże cały czas pojawia mi się błąd (program rysuje oraz przelicza, jednakże wychodzą wartości ujemne). Bardzo proszę o pomoc. Kod aplikacji w załączeniu jako załącznik.

Treść błędu


run:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 5
    at ssn.gestureController.calGradientY(gestureController.java:185)
    at ssn.gestureController.CalculateGradient(gestureController.java:157)
    at ssn.gestureController.access$100(gestureController.java:27)
    at ssn.gestureController$2.mouseReleased(gestureController.java:459)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:719)
    at java.awt.EventQueue$4.run(EventQueue.java:717)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
BUILD SUCCESSFUL (total time: 7 seconds)
edytowany 1x, ostatnio: Koziołek, 2014-12-17 10:05

Pozostało 580 znaków

2014-12-17 11:01
1

Błąd jest jasny - odwołujesz się do 5 indeksu tablicy która ma mniej niż 5 elementów...


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.
Mniej niż 6 chyba.:P - bogdans 2014-12-17 11:08

Pozostało 580 znaków

2014-12-17 12:18
0

Przepraszam, ale dalej nie mogę dojść jak to poprawić. Czy ktoś mógłby mi wskazać konkretne rozwiązanie? Pozdrawiam

Pozostało 580 znaków

2014-12-17 12:26
0

Uruchom w IDE i użyj debuggera.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2014-12-17 20:41
0

Witam odpaliłem pod IDE NetBeans i pomimo debugowania dalej nie mogę dojść co robię źle...

Pozostało 580 znaków

2014-12-17 22:00
0

@adamwwa to chyba nie umiesz debugować co?


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!

Pozostało 580 znaków

2014-12-17 22:42
0

@adamwwa no tak, bo debugger to jest takie magiczne coś co samo poprawia błędy. WTF. Masz tu jak byk:
at ssn.gestureController.calGradientY(gestureController.java:185)
napisane GDZIE DOKŁADNIE leci wyjątek. Czego ty nie rozumiesz? Jak nie rozumiesz CZEMU leci to kliknij w to miejsce kodzie i daj "insert breakpoint" a następnie odpal debugger który zatrzyma się w tym miejscu. Będziesz mógł sprawdzić sobie zawartość zmiennych i przejść kod krok po kroku żeby zobaczyć gdzie popełniłeś błąd.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.
edytowany 1x, ostatnio: Shalom, 2014-12-17 22:42

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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