-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 if i put in The Little Pigs

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 回答