Java 如何用值替换方程式中的字符
我有一个方程a+b-c*d。我从不同的文件中读取a,b,c,d的值,我将它们存储在一个双数组中 如何用数组中的数值替换a/b/c/d? 我试过这个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() {
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;
}