0

我尝试用浮点值替换表达式中的字符。在第一种情况下一切正常,在第二种情况下没有任何反应。这是我的代码:

expr = expressions.get(i)[0];
for (int j = 0; j < valsListArray.length; j++) {
    String selection = (String) valsListArray[j].getSelectedItem(); 
    Float valueFloat = segmentAreas.get(j);                      
    String valueString = "" + valueFloat;
    expr = expr.replace(selection, valueString);
}
for (int jj = 0; jj < koefsLabelsArray.size(); jj++) {
    String selection1 = (String) koefsLabelsArray.get(jj).getText();                
    String valueString1 = valsOfKoefs.get(jj).getText();
    expr = expr.replace(selection1, valueString1); //here nothing happens
    System.out.println(expr);
}
4

3 回答 3

3

代替

expr = expr.replace(valueString1, selection1);

我猜你应该使用以下内容:

expr = expr.replace(selection1, valueString1);
于 2012-06-06T19:06:19.220 回答
2

编辑:

您可能想要调用replaceAllmethod 而不是replace. 尝试

expr = expr.replaceAll(selection1, valueString1);


编辑:

这对我来说很有效,而且由于我对您的变量一无所知,也许问题出在那儿?

   String var = "abcbdbebfb";
    float f = 1.0f;
    String toFind = "b";
    var = var.replaceAll(toFind,(String.valueOf(f)));
    System.out.println(var);

输出:

a1.0c1.0d1.0e1.0f1.0
于 2012-06-06T19:09:40.170 回答
0

所以我知道问题出现是因为我从 JLabel 得到了第一个字符串“selection1”(但我不明白为什么),在另一种情况下一切正常。

于 2012-06-07T10:42:36.767 回答