Willkommen Gast. Bitte einloggen oder registrieren.
Übersicht Hilfe Suche Einloggen Registrieren

+  BrettspielWelt
|-+  Technische Fragen
| |-+  Puppet-Stuff (Moderator: SLC)
| | |-+  Meldung: java.lang.NumberFormatException
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Meldung: java.lang.NumberFormatException  (Gelesen 109 mal)
Kugelschreiber
Zaubermeister
*****
Geschlecht: Männlich
Beiträge: 1195



Profil anzeigen
« am: 10.12.2006, 08:22:13 »

Hi,

folgende Meldung trat vor ein paar Sekunden auf:

Code:
ÄgyptensSchnappi: Fehler am 10.12 um 8:27 --
Meldung: java.lang.NumberFormatException:
For input string: " 1.2126518608088677" in Zeile 1707

Der zugehörige Ausschnitt aus dem Puppet:

Code:
(Zeile 1705:) LOCAL idx = [RND[anzChannel]] + 1
(Zeile 1706:)
(Zeile 1707:) EVAL nam = [idx] ELEMENTOF [anwChannel]

Vermutlich hat die Variable "idx" in Zeile 1707
den Wert " 1.2126518608088677". Aber warum?
- Es sollte ein Integer sein, weil nix von FLOAT in Zeile 1705 steht.
- Woher kommt das Blank vor dem Wert?

Grüsse vom Kugelschreiber
Gespeichert
Kugelschreiber
Zaubermeister
*****
Geschlecht: Männlich
Beiträge: 1195



Profil anzeigen
« Antworten #1 am: 10.12.2006, 15:58:33 »

Hi,

schon wieder so etwas....

Code:
Kapital aufgezehrt bei aktuellem Einsatz 1.5289990112758982
Kapital aufgezehrt bei aktuellem Einsatz 1.1105498901807582

Der Ausschnitt aus dem Puppet

Code:
# kapital beinhaltet eine ganze Zahl 0,..,100
EVAL einsatz = [RND[kapital]] + 1
SET tellText "Spieler [spieler]: Kapital aufgezehrt bei aktuellem Einsatz [einsatz]"

Weiso steht da diese krumme Zahl drin?

Grüsse vom Kugelschreiber
Gespeichert
SLC
Magier
*****
Geschlecht: Männlich
Beiträge: 14510


Ich heiße SLC, komme aus Hamburg und spiele gern (wer denn nicht?)

SLC_BSW
Profil anzeigen WWW
« Antworten #2 am: 10.12.2006, 17:49:55 »

Moin, Kuli!

ELEMENTOF erwartet kein FLOAT als Index, daher der Fehler...

Code:
# kapital beinhaltet eine ganze Zahl 0,..,100
EVAL einsatz = [RND[kapital]] + 1
SET tellText "Spieler [spieler]: Kapital aufgezehrt bei aktuellem Einsatz [einsatz]"

Was genau ist [kapital]?
Wenn es leer ist, gibt [RND[kapital]] eine Zufallszahl zwischen 0 und 1... Grin

Grüße, SLC
Gespeichert
Kugelschreiber
Zaubermeister
*****
Geschlecht: Männlich
Beiträge: 1195



Profil anzeigen
« Antworten #3 am: 10.12.2006, 19:16:00 »

ELEMENTOF erwartet kein FLOAT als Index, daher der Fehler...

Ja, darum geht es. Ich verstehe nicht, warum die Variable "Einsatz" einen Float-Wert zugewiesen bekommt.

Mein Wissensstand:
- vor einiger Zeit wurden Zahlen mit Nachkommastellen, also Float-Werte eingeführt
- die Puppets sollten sich wie zuvor verhalten, also mit Interger-Werten hantieren
- Ausnahme: wird die Funktion "Float(..)" verwendet, dann sollen Float-Werte erzeugt werden
- Danach hätte die Variable "einsatz" einen Integer-Werte enthalten müssen.

Ist dies falsch?
Wenn ja: Wann wird mit Float-Werten hantiert, ohne  "FLOAT(..)" verwendet zu haben?


Zu deiner Frage:
Die Variable "kapital" enthält einen Anfangswert "100", der mit der Zeit auf "0" reduziert wird. Der exakte Wert ist nicht mehr nachvollziehbar. Er wird (ganzzahlig) zwischen 100 und 0 liegen und ist demnach nicht-leer.

Grüsse vom Kugelschreiber
Gespeichert
SLC
Magier
*****
Geschlecht: Männlich
Beiträge: 14510


Ich heiße SLC, komme aus Hamburg und spiele gern (wer denn nicht?)

SLC_BSW
Profil anzeigen WWW
« Antworten #4 am: 10.12.2006, 21:37:09 »

Moin!

Das Problem liegt halt beim [RND], was schon ewig ein FLOAT lieferte.
Also muß [kapital] im Prinzip leer gewesen sein, dann sonst
gibt es entweder einen Fehler im [RNDx] oder eine ganze Zahl.

ELEMENTOF braucht vorne ein (long) INTEGER, das ist hier aber
eben nicht das Hauptproblem. Wäre der Index gewollt ein FLOAT,
so müßte es halt heißen:

(Zeile 1707:) EVAL nam = INTEGER [idx] ELEMENTOF [anwChannel]

Grüße, SLC
Gespeichert
Stechmuck
BSW-Admin
*****
Geschlecht: Männlich
Beiträge: 5900


Erfahrung ist eine nützliche Sache, leider macht man sie immer erst kurz nachdem man sie bräuchte.


Profil anzeigen WWW
« Antworten #5 am: 10.12.2006, 21:55:25 »

Ahoi,

Code:
LOCAL a = [RND0]
>> [a]

Ausgabe: (21:41:10) StechisTest:  0.5255588292796575

...Er wird (ganzzahlig) zwischen 100 und 0 liegen...

Da liegt der Hund begraben Grin

Grüßle Stechi
Gespeichert


SLC
Magier
*****
Geschlecht: Männlich
Beiträge: 14510


Ich heiße SLC, komme aus Hamburg und spiele gern (wer denn nicht?)

SLC_BSW
Profil anzeigen WWW
« Antworten #6 am: 10.12.2006, 22:02:17 »

Moin!

Jo, [RND] und [RND0] sind identisch...
[RND1] liefert immer 0...
[RND2] liefert 0 oder 1...

Grüße, SLC
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines
SMFAds for Free Forums
Prüfe XHTML 1.0 Prüfe CSS