2015-03-09 2 views
-1

Я работаю над проектом, где я беру слово и разбиваю его на 3 массива, но массивы должны быть одинаковой длины. Вот что я имею, но это не работает.Изменение слова на 3 равных массива

String password = JOptionPane.showinputdialogue("Password:); 
split = password; 

    final int mid = split.length()/3; 
    final int third = split.length()/3 * 2; 
    String[] parts = { 
     split.substring(0, mid), 
     split.substring(mid, third), 
     split.substring(mid),}; 

    part1 = parts[0]; 
    part2 = parts[1]; 
    part3 = parts[2]; 

Спасибо за помощь ~ Jay

+3

, что происходит, если password.length% 3> 0? – Robert

+2

Последняя часть должна быть 'split.substring (third)', а не 'split.substring (mid)'. – aioobe

+2

Можем ли мы считать, что длина вашего пароля всегда делится на 3? Что, если это не так? – user3437460

ответ

0

Try:

String password = JOptionPane.showinputdialogue("Password:); 
final int mid = password.length()/3; 
String[] tokens = 
Iterables.toArray(
    Splitter 
     .fixedLength(mid) 
     .split(password), 
    String.class 
);