我是否正确阅读了以下输入?
到目前为止,这是我的代码:
while ((line = br.readLine()) != null) {
line = line.substring(line.indexOf('[')+1, line.indexOf(']'));
String[] parts = line.split(",");
for (int i = 0; i< parts.length; i++) {
rangeNo[i]= Integer.parseInt(parts[i]);
System.out.println("{" + rangeNo[i] + "}");
}
}
这是我的输入
[2,9], [3,11]
另外,当我尝试打印rangeNo [3]的值时,它返回0而不是3
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
您希望[2,9], [3,11]
位于one
行或two
分开的行吗?
如果它应该是one line
,那么你可能想尝试这样的事情
Integer rangeNo[] = new Integer[10];
String line = "[2,9], [3,11]";
line = line.replace('[', ' ');
line = line.replace(']', ' ');
String[] parts = line.split(",");
for (int i = 0; i < parts.length; i++) {
rangeNo[i] = Integer.parseInt(parts[i].trim());
System.out.println("{" + rangeNo[i] + "}");
}
答案 1 :(得分:0)
当你在这里查看
line = line.substring(line.indexOf('[')+1, line.indexOf(']'));
匹配第一个条件。即在[2,9]
之后不适用,因此只有2
和9
存储在此处。
String[] parts = line.split(",");
所以
parts[0]=2
parts[1]=9
parts[2]=0