字符串被其他字符串的最后一个值覆盖

时间:2018-12-23 10:25:07

标签: java android string bluetooth arr

我将通过蓝牙接收的数据保存在readDataA1/B1/A2/B2/A3B3中,这些数据在类级别声明为String全局。 我不知道为什么此功能结尾的readDataA1/B1/A2/B2/A3B3具有最后接收到的字符串的值。最后,这6个变量具有相同的值。 ham1,ham2和ham3始终为零。我不知道它在哪里覆盖。

String[] splitReadMsgA1 = readMessage.split(":");
                readDataA1 = splitReadMsgA1[0];
                if(splitReadMsgA1[1].equals("A.1")){
                    String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
                    sendMsg(list_data + ":" + "B.1");
                }
                else{
                    String[] splitReadMsgB1 = readMessage.split(":");
                    readDataB1 = splitReadMsgB1[0];
                    if(splitReadMsgB1[1].equals("B.1")){
                        String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
                        sendMsg(list_data + ":" + "A.2");
                        ham1 = HammingDistance(StringToIntArray(readDataA1), StringToIntArray(readDataB1));
                    }
                    else{
                        String[] splitReadMsgA2 = readMessage.split(":");
                        readDataA2 = splitReadMsgA2[0];
                        if(splitReadMsgA2[1].equals("A.2")){
                            String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
                            sendMsg(list_data + ":" + "B.2");
                        }
                        else{
                            String[] splitReadMsgB2 = readMessage.split(":");
                            readDataB2 = splitReadMsgB2[0];
                            if(splitReadMsgB2[1].equals("B.2")){
                                String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
                                sendMsg(list_data + ":" + "A.3");
                                ham2 = HammingDistance(StringToIntArray(readDataA2), StringToIntArray(readDataB2));
                            }
                            else{
                                String[] splitReadMsgA3 = readMessage.split(":");
                                readDataA3 = splitReadMsgA3[0];
                                if(splitReadMsgA3[1].equals("A.3")){
                                    String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
                                    sendMsg(list_data + ":" + "B.3");
                                }
                                else{
                                    String[] splitReadMsgB3 = readMessage.split(":");
                                    readDataB3 = splitReadMsgB3[0];
                                    ham3 = HammingDistance(StringToIntArray(readDataA3), StringToIntArray(readDataB3));
                                }
                            }
                        }
                    }
                }

0 个答案:

没有答案