2017-02-09 1 views
-4

J'utilise l'EDI NetBeans pour mon code. Je reçois cette erreur lorsque je tente de l'exécuter. »Exception dans le thread "principal" java.lang.NumberFormatException: Pour la chaîne d'entrée

Exception in thread "main" java.lang.NumberFormatException: For input string: "8589.416,5468.2407,4263.4077,4064.9358,1997.893,5282.325,2169.72,2773.4211,7526.386,4607.6763,2598.06,1522.6462,1300.5988,1181.63,Tumor" 
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250) 
    at java.lang.Double.parseDouble(Double.java:540) 
    at Preprocessing.Newsvm_scale.run(Newsvm_scale.java.java:150) 
    at Preprocessing.Newsvm_scale.main(Newsvm_scale.java.java:332) 

Je garde à l'esprit que les autres questions semblables ici me pourraient pas aidé depuis que j'ai un code différent Mon code est ci-dessous Si quelqu'un peut. me diriger dans la bonne direction, je serai très reconnaissant. Merci.

+1

Déboguez votre code, allez à la ligne 540 et jetez un coup d'œil au paramètre '' Double.parseDouble''. C'est une énorme chaîne, pas un seul numéro. Cela ne peut pas être analysé avec un '' Double''. – f1sh

+1

Je ne pense pas '8589.416,5468.2407,4263.4077,4064.9358,1997,893,5282,325,2169,72,2773,4211,7526,386,4607,6763,2598,06,1522,6462,1300,5988,1181,63, tumeur' est un nombre non plus. – Moira

+4

Avez-vous lu le message d'erreur? Il inclut la chaîne que vous essayiez d'analyser, et * clairement * n'est pas un nombre décimal valide. –

Répondre

0

la méthode StringTokenizer a mis une longue chaîne à la valeur st, qui n'est pas brisée. Alors, quand la méthode double Parse est appelé. Il renvoie une exception au format Number, car il essaie de convertir cette chaîne en double. Vous devez spécifier que les virgules séparent les nombres lors de l'appel de la méthode StringTokenizer. pour demander si vous aimez plus d'aide.

+0

... ou vous pourriez ajouter à votre réponse. – Moira

+0

... Ou vous pourriez. – JordanH

+0

Merci beaucoup @ jordanH. oui le fichier que j'ai utilisé est des virgules séparés délimités. mais je ne pouvais pas vous comprendre, que voulez-vous dire par (vous devez spécifier que les virgules séparent les numéros). pouvez-vous expliquer plus? merci – ahmed