2013-04-20 4 views
0

Я пытался выяснить, как добавить лишнего члена массива строк в строковую переменную без везения. Вот код.Как добавить два члена массива строк в одну строковую переменную

myDirString = myDirString.trim(); 
    String[] myDirStringParts = myDirString.split(" +"); 

    MySize = myDirStringParts[0]; 
    MyNum = myDirStringParts[1]; 
    Total = myDirStringParts[2]; 
    MyName = myDirStringParts[3]; 

В основном я хочу myDirStringParts[2]; также быть включены в MyName.

+3

Если вы получаете ошибку за пределами границ, это означает, что раскол не производит 4 части, а это значит, что нет 4 частей, разделенных символом «+», возможно, вы должны показать значение myDirString – smerny

ответ

3
MyName = myDirStringParts[3] + myDirStringParts[2]; 

будет работать.

+0

проблема в том, что все строки im, проходящие в MyDirectory, остаются теми же, кроме последнего. Последний имеет короткий 1 массив. Следовательно, вне границ, но я должен передать третий член массива из последней строки в 'MyName'. Это очень сложно. – oxxi

+0

2365106332 1140 SUB-TOTAL: E: \ WIS26 \ MYSQL – oxxi

+0

91535864328 301122 TOTAL – oxxi

1

Просто

MyName = myDirStringParts[3] + myDirStringParts[2]; 

должен сделать трюк.

Однако я замечаю кое-что о вашем коде, который я хотел бы отметить:

  1. Объявите переменные MyName, Total, MyNum, MySize.
  2. Удостоверьтесь, что myDirStringParts содержит по крайней мере 3 элемента после вызова split(" +").

Вы можете сделать это с помощью следующего фрагмента кода:

if(myDirStringParts.length >= 4) { 
    MySize = myDirStringParts[0]; 
    MyNum = myDirStringParts[1]; 
    Total = myDirStringParts[2]; 
    MyName = myDirStringParts[3] + myDirStringParts[2]; 
} else { 
    // print out an error message. 
    System.err.println("myDirString does not contain all the required data!"); 
} 
+1

Оно должно быть на минимум 4, так как 3 - 4-й элемент, 0-индексированный. –

Смежные вопросы