Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在字符串[]数组中存储split的值,但不使用String.split()_Java - Fatal编程技术网

Java 在字符串[]数组中存储split的值,但不使用String.split()

Java 在字符串[]数组中存储split的值,但不使用String.split(),java,Java,我想转换下面的代码,在不使用string.split()的情况下将拆分的字符串存储在字符串数组中,因为我正在生产环境中处理遗留的java 1.2 String strings ="1,2,3,4;5,6,7,8"; String[] output= strings.split(";"); 如何实现这一点?不熟悉1.2的限制。。。你可以手工做:首先,数一数“;”这样您就可以创建坐标数组,然后使用可用的String方法遍历原始字符串并连接结果并停止每个“;” 使用自版本1以来一直存在的javado

我想转换下面的代码,在不使用string.split()的情况下将拆分的字符串存储在字符串数组中,因为我正在生产环境中处理遗留的java 1.2

String strings ="1,2,3,4;5,6,7,8";
String[] output= strings.split(";");

如何实现这一点?

不熟悉1.2的限制。。。你可以手工做:首先,数一数“;”这样您就可以创建坐标数组,然后使用可用的
String
方法遍历原始字符串并连接结果并停止每个“;”

使用自版本1以来一直存在的javadoc

照办

StringTokenizer strTokenizer = new StringTokenizer("1,2,3,4;5,6,7,8", ";");

并在
strokenizer.hasMoreElements()
时迭代,您必须使用
StringTokenizer
,因为
StringTokenizer
JDK 1.0
以来可用。您最好也在生产中更改您的
JDK

StringTokenizer stringTokenizer=new StringTokenizer("1,2,3,4;5,6,7,8",",;");
String[] arr=new String[stringTokenizer.countTokens()];
int i=0;
while (stringTokenizer.hasMoreTokens()){
   arr[i]=stringTokenizer.nextToken();
   i++;
}
[1,2,3,4,5,6,7,8]


可以指定分隔符。如果你只是

您可以将Scanner类用于相同的目的

  String s="1,2,3,4;5,6,7,8";
  Scanner sc=new Scanner(s).useDelimiter(";");
while(sc.hasNext())
 {
  System.out.println(sc.next());
 }

您必须自己实现它:循环字符串的字符,在找到
时执行任何需要执行的操作,等等(Java 1.2在生产中?哇,那太旧了!),通过声明String[]arr=newString[8];如果我需要更少的字符,它将存储内存also@rahularora对那你怎么才能得到
String
array?谢谢我得到了答案谢谢我得到了答案
  String s="1,2,3,4;5,6,7,8";
  Scanner sc=new Scanner(s).useDelimiter(";");
while(sc.hasNext())
 {
  System.out.println(sc.next());
 }