Java parseDouble()中的NumberFormatException

Java parseDouble()中的NumberFormatException,java,android,numberformatexception,Java,Android,Numberformatexception,我的目标是获取一系列流式数字,并将其放入多维数组中。我确实意识到这可以在非多维数组中完成,但我的目标是最终扩展列的数量。但是,我得到一个错误NumberFormatException,我相信它来自parseDouble。有人能解释我的错误吗 请参阅下面带有LogCat错误的代码。多谢各位 添加了log.d(“,readMessage,null) 这是我日志的一部分。空白点是否为空? 04-04 21:19:33.196: D/(13272): 0.03 04-04 21:19:33.196: D

我的目标是获取一系列流式数字,并将其放入多维数组中。我确实意识到这可以在非多维数组中完成,但我的目标是最终扩展列的数量。但是,我得到一个错误NumberFormatException,我相信它来自parseDouble。有人能解释我的错误吗

请参阅下面带有LogCat错误的代码。多谢各位

添加了log.d(“,readMessage,null)

这是我日志的一部分。空白点是否为空?

04-04 21:19:33.196: D/(13272): 0.03
04-04 21:19:33.196: D/(13272): 0.

04-04 21:19:33.196: D/(13272): 
04-04 21:19:33.196: D/(13272): 0.03
04-04 21:19:33.196: D/(13272): 0.

04-04 21:19:33.196: D/(13272): 
04-04 21:19:33.196: D/(13272): 0.03
04-04 21:19:33.196: D/(13272): 0.

04-04 21:19:33.196: D/(13272): 



        case MESSAGE_READ:


                for(int a= 0; a <30000; a++)
                {
                    byte[] readBuf = (byte[]) msg.obj;
                    String readMessage = new String(readBuf, 0, msg.arg1);
                    mConversationArrayAdapter.add("Voltage: "+ readMessage);
                    double[] convert = new double[1];
                    for(int z=0; z <1;z++)
                    {
                    convert[z]= Double.parseDouble(readMessage);
                    }
                    for(int j=0; j<1;j++)
                    {
                    stored[a][j]= convert[a];
                    }
                }

            break;

readMessage变量应仅包含带有数字、“-”符号或点的文本,因此为“121”或“13.5”或“-5”。如果存在带有其他符号的字符串,则会发生NumberFormatException。只需查看(以Log.d为例),在解析前readMessage变量中有什么内容,这是因为。。。因此,当它失败时,您必须告诉我们什么是
readMessage
,或者添加一些临时日志输出来监视它。这与数组并没有真正的关系,它确实如此。它包含0.02、0.03、0.92、1.92等数字。等等,但你肯定有30000条信息。也许第一条消息是双倍的,但在缓冲区中没有更多的消息后,readMessage中有null,因此会发生异常?我一次收到一条消息,大约每秒1000条。(来自我的arduino微控制器)。如何修复此问题?@user3385015捕获异常,并记录导致异常的
readMessage
的值。然后,在崩溃时,查看日志…正如JasonC所写的,尝试在catch块中记录当前值,甚至在解析之前。我很确定它会说空。
04-02 21:42:42.516: E/AndroidRuntime(10430): FATAL EXCEPTION: main
04-02 21:42:42.516: E/AndroidRuntime(10430): java.lang.NumberFormatException: 
04-02 21:42:42.516: E/AndroidRuntime(10430):    at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:267)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at java.lang.Double.parseDouble(Double.java:318)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at com.example.android.BluetoothChat.BluetoothChat$2.handleMessage(BluetoothChat.java:305)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at android.os.Looper.loop(Looper.java:130)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at android.app.ActivityThread.main(ActivityThread.java:3683)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at java.lang.reflect.Method.invokeNative(Native Method)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at java.lang.reflect.Method.invoke(Method.java:507)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-02 21:42:42.516: E/AndroidRuntime(10430):    at dalvik.system.NativeStart.main(Native Method)