-5

私がやろうとしているのは、次のようなものを次のような"The Three Pigs"配列に変換することです:

Array[0]="The"
Array[1]="Three"
Array[2]="Pigs"

文字列クラスにはそのためのメソッドがなく、自分でそれを行う方法がわかりません分割は私の目的では機能していないようです。コード例:

import java.util.Scanner;


public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
    GetNumber();
}

private static void GetNumber() {
    System.out.println("Enter your words.");
    Scanner S=new Scanner(System.in);
    String O=S.next();
    String[] A=O.split(" ");
    for(int Y=0;A.length>Y;Y++){
        System.out.println(A[Y]);
    }
}

}

The Little Pigs を入力すると、このコードは The を出力します。

4

5 に答える 5

6
String text = "The Three Pigs";
String[] array = text.split(" ");

編集:

ユーザーが単一の単語ではなくテキスト行を入力できるようにする場合は、次を使用します。

String O = S.nextLine();

それ以外の:

String O = S.next();
于 2012-04-26T01:08:57.627 に答える
3

次のように分割メソッドを使用できます

String[] arrString = s.split(" ");
于 2012-04-26T01:09:30.807 に答える
3

String クラスの split メソッドを参照してください。

于 2012-04-26T01:09:38.433 に答える
3
String[] theArray = "The Three Pigs".split(" ");

更新された質問については、スキャナーをから.next()に変更してください.nextLine()

import java.util.Scanner;

public class ArrayTest
{
    public static void main( String[] args )
    {
        System.out.println( "Enter your words." );
        Scanner scanner = new Scanner( System.in );
        String O = scanner.nextLine();
        System.out.println( O );
        String[] A = O.split( " " );
        for ( int Y = 0 ; A.length > Y ; Y++ )
        {
            System.out.println( A[ Y ] );
        }
    }
}
于 2012-04-26T01:09:44.427 に答える
2

実際のところ、そのStringクラスにそのためのメソッドがあります。

/edit
Scanner#nextは、入力の次のトークンを返します。Scanners は、受け取った入力を空白でトークン化するため、"The Little Pigs"にトークン化され"The""Little"への"Pigs"呼び出しによってトークン化されますnext。行全体が必要な場合は、 を試してくださいScanner#nextLine

于 2012-04-26T01:08:56.877 に答える