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