Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何用值替换方程式中的字符_Java_String_Equations - Fatal编程技术网

Java 如何用值替换方程式中的字符

Java 如何用值替换方程式中的字符,java,string,equations,Java,String,Equations,我有一个方程a+b-c*d。我从不同的文件中读取a,b,c,d的值,我将它们存储在一个双数组中 如何用数组中的数值替换a/b/c/d? 我试过这个 String l2; //getting the equation string in this from other part of the code. //assume a+b-c*d Double[] secondOperators = new Double[4]; public String getSecondString() {

我有一个方程a+b-c*d。我从不同的文件中读取a,b,c,d的值,我将它们存储在一个双数组中

如何用数组中的数值替换a/b/c/d? 我试过这个

String l2; //getting the equation string in this from other part of the code. 
//assume a+b-c*d

Double[] secondOperators = new Double[4];
public String getSecondString()
{ 
    l2 = l2.replace("a",toString(secondOperators[0]));
    l2 = l2.replace("b",toString(secondOperators[1]));
    l2 = l2.replace("c",toString(secondOperators[2]));
    l2 = l2.replace("d",toString(secondOperators[3]));  
    return l2;      
}
结果是编译时错误

错误:类对象中的toString方法无法应用于给定类型

l2 = l2.replace("a",toString(secondOperators[0]));
                        ^
必需:无参数

发现:双

原因:实际参数列表和形式参数列表长度不同

使用String.valueOfsecondOperators[0]而不是ToString SecondOperators[0]

编辑:


结果是…?@JBNizet编辑了这个问题,错误是找不到适合replacechar的方法,字符串l1=l1.replace'a',String.valueOffirstOperators[1];^method String.replacechar,char不适用参数不匹配;字符串无法转换为char方法字符串。replaceCharSequence,CharSequence不适用参数不匹配;无法将字符转换为CharSequences为什么将a更改为“a”,不能使用替换为一个字符和一个字符串。阅读字符串JavaDoc并了解更多信息。请参阅我编辑的答案,它正在工作。为什么?向上投票是针对可能对其他人有用的问题。恐怕你的问题不是。
public static String getSecondString()
{ 
    String l2="a+b-c*d";
    Double[] secondOperators = {22.03,334.34,34.57,231.98};
    l2 = l2.replace("a",String.valueOf(secondOperators[0]));
    l2 = l2.replace("b",String.valueOf(secondOperators[1]));
    l2 = l2.replace("c",String.valueOf(secondOperators[2]));
    l2 = l2.replace("d",String.valueOf(secondOperators[3]));  
    return l2;      
}