如何将字符串设为字符串数组?

时间:2012-04-26 01:07:40

标签: java arrays

我要做的是将类似这样的内容:"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

5 个答案:

答案 0 :(得分:6)

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

修改

如果您想让用户输入一行文字而不是一个单词,请使用:

String O = S.nextLine();

而不是:

String O = S.next();

答案 1 :(得分:3)

您可以按如下方式使用拆分方法

String[] arrString = s.split(" ");

答案 2 :(得分:3)

请参阅String类的the split method

答案 3 :(得分: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 ] );
        }
    }
}

答案 4 :(得分:2)

事实上,String确实有一个method for that

/编辑
Scanner#next返回下一个输入标记。 Scanner标记了他们通过空格收到的输入,因此"The Little Pigs"会通过调用"The"标记为"Little""Pigs"next。如果您想要整行,请尝试Scanner#nextLine