Du bist nicht angemeldet.

1

Dienstag, 2. April 2013, 19:43

sug/vote problem

Ich steh gerade aufm Schlauch.

Ich kann eine Wahl erstellen.

Wenn ich allerdings dann /sug eingeben oder z.B. /vote (und die wahl) fliege ich und es kommt die Meldung

"Exception in thread "Thread-6" java.lang.ArrayIndexOutOfBoundsException: 1
at netchat.CommandParser.parse(CommandParser.java:3294)
at handler.ChatHandler.handle(ChatHandler.java:131)
at netchat.SessionHandler.run(SessionHandler.java:92)"

Bei /sug

CommandParser.java:3400

PHP-Quelltext

1
<?php String nominiert = split[1]; ?>


ChatHandler.java:131

PHP-Quelltext

1
<?php CommandParser.parse(message, client, channel, false); ?>


SessionHandler.java:92

PHP-Quelltext

1
<?php ChatHandler.handle(tokens, client); ?>


Bei /vote sind Chathandler und SessionHandler gleich nur Commandparser ist es in der Zeile 3400

PHP-Quelltext

1
<?php String stimmen = x.split("~")[1]; ?>

2

Dienstag, 2. April 2013, 20:04

Das Problem gab es hier die Tage schon und ist zu dem äquivalent.

java.lang.ArrayIndexOutOfBoundsException: 1

Die Fehlermeldung ist eindeutig: Das Array hat keinen zweiten Index (0, -> 1 <-), ist dementsprechend nicht vergeben und dein Code versucht trotzdem, diese Daten zu holen.

Behebung: Der String, der gesplittet wird, ist nicht korrekt für die weitere Weiterverarbeitung geformt.
Vor dem Splitten solltest du ausgeben, wie er lautet. Da ist der Fehler. Er muss so aussehen sodass dort alle Informationen vorhanden sind, um letztendlich splitten zu können.
Kein Support per PN. Nur im Forum!

3

Dienstag, 2. April 2013, 20:21

PHP-Quelltext

1
<?php if(aktiv == 1) {                            String nominated = more[1];                            sug.append("_").append(wahl).append("_#");                                                for(String x : nominated.split("\\|")) {                                if(!x.isEmpty()) {                                    String[] split = x.split("~");                                    String nick = split[0];                                    String nominiert = split[0]; ?>




Bei /sug wir mir nun angezeigt

"Window: Wahlen

admin
02.04.2013 (nom. von 02.04.2013)"

4

Dienstag, 2. April 2013, 20:31

Siehst du, nun funktioniert es.

Zwar natürlich nicht wie gewünscht - keiner Wunder, du hast ja auch einfach die Reihenfolge vertauscht - aber jetzt weißt Du, wo der Fehler ist.

Nämlich enthält der String "x" nicht die Information, auf die Du zugreifen willst und die du letztendlich im Chat anzeigen willst.
Kein Support per PN. Nur im Forum!

5

Dienstag, 2. April 2013, 20:42

Vertauscht?

Und was ich mich Frage ist, was die zahlen bedeuten.

Ähnliche Themen