2012-04-06 2 views
-4

Есть ли способ создать некоторый тип цикла For для разделения строки с пробелами? Пока я могу отобразить строку и найти, сколько у нее символов.Для цикла, чтобы отделить строку с пробелами (Java)

import java.util.Scanner; 
import java.lang.String; 

public class Word{ 
    public static void main(String args[]) 
    { 
    Scanner scan = new Scanner(System.in); 

    int b; 

    String word; 

    System.out.println ("Enter a word: "); 
    word = scan.next(); 

    b = word.length(); 

    System.out.println (word); 
    System.out.println (b); 
    } 
} 
+0

Зачем вам это нужно? т. е. вам нужно понять принцип, или вам нужно выполнить работу? –

+0

Мне нужно оба, на самом деле. – jerms246

+1

У вас есть строка с пробелами, которые вы хотите разбить, или вы хотите выделить строку, вставив пробелы? – gobernador

ответ

7

В качестве альтернативы Scanner, вы можете сделать что-то вроде следующего:

String[] parts = line.split(" "); 
for (String part : parts) { 
    //do something interesting here 
} 
1

Используйте метод split() в классе струнных, как это:

String line = "a series of words"; 
String[] words = line.split("\\s+"); 

Он вернется a String[] с отдельными словами в line, для вышеприведенного примера это произведет это:

{"a", "series", "of", "words"} 
0

Вы пробовали посмотреть на API java? там много различных функций, которые вы можете использовать ... верхнюю часть моей головы раскола будет работать хорошо, и вы не должны даже написать цикл

http://docs.oracle.com/javase/6/docs/api/

+0

Это должно быть для цикла, извините – jerms246

+0

вы можете уточнить вопрос .. является целью распечатать каждое слово, разделенное пробелом? – keshav

0

Вы можете использовать

String.Split to split the sentence into an array of words.. something like 

string[] words = word.split(" "); 
foreach(string s in words) 
{ 
System.out.println(s); 
System.out.println("\n"); 

} 
0

Это не проверено, но я чувствую, что это упражнение для обучения, поэтому это должно привести вас к правильному пути. В цикле for вы получаете доступ к каждому символу слова как подстроке и объединяете пространство на конце (конец слова также).

string word2 =""; 
for (int i = 0; i<word.length-1;i++) { 
    word2 = word.substring(i, i+1)+" "; 
} 
+0

word.length возвращает ошибку «не может найти символ» – jerms246

+0

Простите, пропустили это, взгляните на свой предыдущий код. Вы делали то же самое раньше. (рассмотрим подстановку b) – RyanS