2017-02-09 6 views
-4

私のコードにNetbeans IDEを使用しています。私はそれを実行しようとすると、私はこのエラーを取得しています:」スレッド "main"の例外java.lang.NumberFormatException:入力文字列の場合

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) 

は、私は別のコードを持っているため、ここでは他の同様の質問が私を助けたことができなかったことを覚えておいて私のコードは以下の通りです誰でもできます。

+1

コードをデバッグし、540行目に行き、 '' Double.parseDouble''のパラメータを見てください。それは巨大な文字列であり、単一の数字ではありません。それは「ダブル」には解析できません。 – f1sh

+1

私は '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、腫瘍も数字ではないと思います。 – Moira

+4

エラーメッセージをお読みになりましたか?それはあなたが解析しようとしていた実際の文字列を含み、*はっきりと*有効な10進数ではありません。 –

答えて

0

StringTokenizerメソッドは、1つの長い文字列を値stに設定していますが、これは分割されていません。したがって、Double Parseメソッドが呼び出されているときです。その文字列をdoubleに変換しようとしているため、Number形式の例外がスローされます。StringTokenizerメソッドを呼び出すときにカンマで区切るように指定する必要があります。 気分がフリーあなたにもう少し援助が必要かどうか尋ねる。

+0

...またはあなたの答えに追加することができます。 – Moira

+0

...または可能です。 – JordanH

+0

ありがとう@ jordanH。はい、私が使用したファイルはカンマ区切りで区切られています。しかし、私はあなたを理解できませんでした。何を意味するのですか(カンマが数字を区切るように指定する必要があります)。もっと説明できますか?ありがとうございます – ahmed

関連する問題