在Java中字符串分割不起作用,无法导入`split`。

3
我正在尝试如下代码将字符串拆分:
String []data = {"3.5,2.3,4.2,5.4,7.4,2.7"};
String s[] = data.split("\\,");

double point3[] = new Double [s.length];
double allPoint[] = new double [s.length];

for (int i = 0; i < s.length; i++){
   point3[2] = Double.parseDouble(s[2]);
   //lng[i] = Double.parseDouble(s[i]);
   allPoint[i] = Double.parseDouble(s[i]);
}

我还试过用 data.split(",");,但问题不在反斜杠上,它在split处出现错误,提示显示:

无法找到符号,符号: 方法 split(String)

我无法导入split,现在该怎么办呢?


2
你需要一个字符串来使用 split(),而不是一个数组。 - Inzimam Tariq IT
如果是数组,data[0].split(","); 也可以使用。 - Inzimam Tariq IT
3个回答

6
该方法 split() 属于 String,而不是 Array。要使其正常工作,您必须将数据定义为 String data = "3.5,2.3,4.2,5.4,7.4,2.7";

0

这里的data表示一个字符串数组。数据位于0位置。要从数据数组中获取数据,使用data[0]

这段代码应该适用于您:

String []data = {"3.5,2.3,4.2,5.4,7.4,2.7"};

String s[] = data[0].split("\\,");

double allPoint[] = new double [s.length];
for (int i = 0; i < s.length; i++){
      System.out.println(s[i]);
}

Output : 
  3.5
  2.3
  4.2
  5.4
  7.4
  2.7

是的,它正在工作。但为什么需要索引0来分割? - user5508041

0
上面的解决方案是正确的也可以使用数组进行操作,如data[0].split(",");
因为在数组的情况下,数据位于第0个索引处,我们可以使用其索引值将其拆分。
如果您使用以下代码:

double point3 [] = new Double [s.length];

这意味着您正在创建double对象,因为大写DDouble表示对象。您的allpoint []数组可能会正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接