-3

文字列をスペースで区切るためにある種の For ループを作成する方法はありますか? これまでのところ、文字列を表示して、その文字数を見つけることができました。

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);
  }
}
4

6 に答える 6

8

の代わりにScanner、次のようなことができます。

String[] parts = line.split(" ");
for (String part : parts) {
    //do something interesting here
}
于 2012-04-06T02:15:57.163 に答える
2

split()次のように、String クラスでメソッドを使用します。

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

String[]の個々の単語を含む を返しますline。上記の例では、次のようになります。

{"a", "series", "of", "words"}
于 2012-04-06T02:16:28.063 に答える
1

String.split文を単語の配列に分割するために使用できます..次のようなもの

string[] words = word.split(" ");
for (String s: words)
{
    System.out.println(s);
    System.out.println("\n");
}
于 2012-04-06T02:17:42.487 に答える
0

Java API を調べてみましたか? 使用できるさまざまな関数がたくさんあります...頭のてっぺんを分割するとうまく機能し、ループを記述する必要さえありません

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

于 2012-04-06T02:16:48.620 に答える
0

これはテストされていませんが、これは学習演習であるため、正しい道に進む必要があると思います. for ループでは、単語の各文字に部分文字列としてアクセスし、末尾 (単語の末尾も同様) にスペースを連結します。

string word2 ="";
for (int i = 0; i<word.length-1;i++) {
    word2 = word.substring(i, i+1)+" ";
}
于 2012-04-06T02:18:25.713 に答える
0

私は次のコードを使用しています:

Arrays.stream(yourString.split(" ")).forEach( element -> {
                // do something with each element
                System.out.println(element + "\n");
            });
于 2021-04-12T10:02:58.663 に答える