Problema com array

4 respostas
Algebra

o código é esse que pega as diferenças que geralmente está na frente da letra “v”

d = a string original com numero depois da letra "v" ex: "q5cv5"
s2[i] = modelo sem numero no "v" ex:  "q5cv"

            char[] charStringA = d.toCharArray();
            char[] charStringB = s2[i].toCharArray();
            List difference = new ArrayList();
            int j = 0;
            int differences = 0;

            while (j < charStringA.length) {
                if (charStringA[j] != charStringB[j - differences]) {
                    difference.add(charStringA[j]);
                    differences++;
                }
            j++;
            }

retorna as diferenças:

O grilado é que esse código acima funciona muito bem quando v+numero está no inicio ou no meio da string
mas dá o seguinte erro quando está no final:

Exception in thread AWT-EventQueue-0 java.lang.ArrayIndexOutOfBoundsException: 4

at chatterbot.reply.similarStringParser(reply.java:163)

at chatterbot.reply.botReply(reply.java:46)

at chatterbot.analyseText.Initialize(analyseText.java:75)

at chatterbot.FChater.jButton1ActionPerformed(FChater.java:135)

at chatterbot.FChater.access$000(FChater.java:23)

at chatterbot.FChater$1.actionPerformed(FChater.java:59)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6263)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:6028)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4630)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Window.dispatchEventImpl(Window.java:2475)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Alguem pode me ajudar?

4 Respostas

ViniGodoy

O que o código tem que fazer?

Algebra

O código tem que retornar a diferença da string d com relação a string s2[i] que é um array com modelos de string

Algebra

Achei o erro…

danilopelegrino

OK, mais nao vai postar pra galera qual era o erro?

E se alguem tiver o mesmo erro num futuro proximo? Voce nao vai ajudar esta pessoa?

Pense bemmmm, Pense bemmm srsrsr

Criado 8 de setembro de 2009
Ultima resposta 8 de set. de 2009
Respostas 4
Participantes 3