2015-04-30 4 views
-6

Я пытаюсь произвести array предложений от одного первоначального предложения, но и сохранить порядокКак я могу сформировать комбинации из предложения

, например

"The amazing spider man returns" 

будет производить 5 предложений

"The" 
"The amazing" 
"The amazing spider" 
"The amazing spider man" 
"The amazing spider man returns" 

Я начал цикл, но я не могу понять, как идти об этом

 String[] words=title.split(" "); 
     for (int i = 0; i < words.length; i++) { 

     ??? 
     } 
+0

Создать строку конкатенацией слова из индекса 0 до индекса I, и распечатать его. –

+0

@JBNizet, так мне нужно еще один цикл внутри каждого предложения? – code511788465541441

+0

Или используйте комбинацию 'subString' и' indexOf'. – Tom

ответ

3

Я думаю, что вы могли бы сделать что-то вроде:

String[] words=title.split(" "); 
    String printWord = ""; 
    for (int i = 0; i < words.length; i++) { 
     printWord += words[i] + " "; // Add the space for newly appended words 
     System.out.println(printWord); 
    } 

выше, будет просто распечатать следующий

The 
The amazing 
The amazing spider 
The amazing spider man 
The amazing spider man returns 

Если вы хотите сохранить его, просто добавьте его в новый массив вместо вызывающий System.out.println().

Edit: Удалены кавычки в возвращенных строк, потому что он не печатает цитаты, конечно: P

edit2: Если вы хотите, чтобы добавить его в массив без задней белого пространства, просто используйте String.trim(), когда вы добавляете в массив.

3

Вы можете сделать

String title = "The amazing spider man returns"; 
String[] words = title.split(" "); 
String[] result = new String[words.length]; 

for (int i = 0; i < words.length; i++) { 

    if (i == 0) 
     result[i] = words[i]; 
    else 
     result[i] = result[i - 1] + " " + words[i]; 

} 
System.out.println(Arrays.toString(result)); 

Выход

[The, The amazing, The amazing spider, The amazing spider man, The amazing spider man returns] 

Demo

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