对于我的程序,用户的输入将是这样的:
{1,2,3} {1,2} {4,5,6}
可以有多个{ }
,其中包含任意数量的...数字。
我已经为每个数字序列创建了一个带有数组的二维数组:{}
我遇到麻烦将它们分成各自的数组,所以它会是这样的:
Array[0] = ["1","2","3"]
Array[1] = ["1","2"]
Array[2] = ["4","5","6"]
我怎么会那样分裂呢?我不知道我是否可以将此字符串拆分为n个字符串,因为序列数取决于用户。
答案 0 :(得分:3)
将字符串拆分为" " (空格),并从那里删除大括号(可能采用子索,从索引1到索引长度-1)。然后用逗号分隔。那应该返回一个包含数字的字符串数组。从那里将字符串解析为整数,并存储在整数数组中。
答案 1 :(得分:0)
此代码可以帮助您
public class T {
public static void main(String[] args) {
String s = "{1,2,3} {1,2} {4,5,6}";
String[] mainArray = s.split(" ");
String[][] result = new String[mainArray.length][];
int count = 0;
for (String t : mainArray) {
result[count] = t.split(",");
count++;
}
}
}
答案 2 :(得分:0)
var x = "{1,2,3} {1,2} {4,5,6}";
var y = x.split(" ");
var k =[];
for(var i = 0; i < y.length; i++){
k.push((y[i].substring(1,y[i].length-1)).split(","));
}
嗯,这就是你如何在javascript,算法中做到这一点。(我的错误读取标签) K将是最后一个阵列。
答案 3 :(得分:0)
创建一个数组集合(输入数组的类型,如果已知)。 将数组拆分为&#34; {&#34;。 使用生成的数组,您可以删除&#34;}&#34;从每个字符串中将其拆分为&#34;,&#34;。 然后迭代生成的字符串数组,解析其内容并构建条目类型的数组。 最后,将该数组添加到您的集合中。
这假设没有子数组,对于您的样本输入是true。但是,它并不假设用户在给定数组之间添加了空格;这是我不相信用户要记住的东西。