我想将一个String分成3个字符串,并将其中的每个元素(由“,”分隔)分成一个数组。
例如
java test 2,4,5,7 3,b,f,6 7,v,f,g
进入
Array1 = [2,4,5,7]
Array2 = [3,b,f,6]
Array3 = [7,v,f,g]
我的尝试:
import java.util.Arrays;
public class test {
public static void main(String[] args) {
String erstemenge[] = args[0].split(" ");
String menge1 = erstemenge[0];
String menge2 = erstemenge[1];
String menge3 = erstemenge[2];
String [] m1 = menge1.split(",");
String [] m2 = menge2.split(",");
String [] m3 = menge3.split(",");
System.out.println("Test:" + Arrays.toString(m1));
System.out.println("Test:" + Arrays.toString(m2));
System.out.println("Test:" + Arrays.toString(m3));
错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at CharSet.main(CharSet.java:43)
我错了什么?
答案 0 :(得分:3)
您可能无法引用输入参数。看起来你正在运行:
java -cp . test 1,2,3 4,5,6 7,8,9
将args设置为
["1,2,3", "4,5,6", "7,8,9"]
但是你正在运行args[0].split(" ");
您只需设置
即可解决此问题String menge1 = args[0];
String menge2 = args[1];
String menge3 = args[2];
或者以
运行程序java -cp . test "1,2,3 4,5,6 7,8,9"
答案 1 :(得分:0)
如果你在命令行引用你的字符串,args将是一个单元素数组,args [0]将是由空格分隔的三个组。
如果不这样做,args将是一个三元素数组,而args [0]将没有空格可以拆分。