2014-12-05 82 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