2014-12-05 50 views
-2

我正在开发android项目。例如,我从加速度计和陀螺仪传感器获取传感器值,其格式为A1 A2 A3 G1 G2 G3。考虑字符串模式“-553 39 -415 -540 168 -209”。因此,如何从该字符串模式中提取-553,39,-415值并分配给变量A1,A2,A3并同样提取-540,168,-209和分配给G1,G2,G3.I已经将它转换为ArrayList但是当从它读取值时,应用程序崩溃。任何其他想法来获得结果?从数字字符串模式中分离字符串

使用的ArrayList:

String str= "-553 39 -415 -540 168 -209"; 
    ArrayList<String> myList = new ArrayList<String>(Arrays.asList(str)); 
       String x1 = myList.get(0); 
       String y1 = myList.get(1); 
       String z1 = myList.get(2); 
       String x2 = myList.get(3); 
       String y2 = myList.get(4); 
       String z2 = myList.get(5); 
       Log.d("Accel",x1); 
       Log.d("Accel",y1); 
       Log.d("Accel",z1); 
       Log.d("Gyro",x2); 
       Log.d("Gyro",y2); 
       Log.d("Gyro",z2); 

回答

0

使用str.split("\\s")分裂的字符串。

String str = "-553 39 -415 -540 168 -209"; 
    List<String> myList = Arrays.asList(str.split("\\s")); 
    String x1 = myList.get(0); 
    String y1 = myList.get(1); 
    String z1 = myList.get(2); 
    String x2 = myList.get(3); 
    String y2 = myList.get(4); 
    String z2 = myList.get(5); 
    Log.d("Accel",x1); 
    Log.d("Accel",y1); 
    Log.d("Accel",z1); 
    Log.d("Gyro",x2); 
    Log.d("Gyro",y2); 
    Log.d("Gyro",z2); 
+2

这不是一个答案,除非你*解释*你在做什么。 “编码器”无能为力。给他提供线索。 – 323go 2014-12-05 14:43:39

+1

Heyy它没有工作。任何其他的想法。 – coder 2014-12-06 09:01:46

+1

@coder检查更新的答案,它对我来说工作正常。 – javaHunter 2014-12-08 08:43:42