-4
我試圖使用ScriptEngine將字符串轉換爲公式。 我的代碼要求一個線性方程和一個X值。之後,它將替換x的值。 當我嘗試後加「*」,「()」這是行不通的,因此它不評估串式將字符串轉換爲公式
package known;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import java.util.Scanner;
import static java.util.stream.DoubleStream.concat;
import javax.script.ScriptException;
/**
*
* @author netof
*/
public class Known {
/**3
* @param args the command line arguments
*/
public static void main(String[] args) throws ScriptException {
System.out.println("Insert your equation");
Scanner sc = new Scanner(System.in);
String equation = sc.nextLine();
System.out.println("Insert value for X");
String x = sc.nextLine();
System.out.println();
String test = equation.replace("x","("+x+")");
if(test.contains("("+x+")")){
String replace = test.replace("("+")", "*");
System.out.println(replace);
}else{
System.out.println("Can't Replace");
}
}
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String convert = replace;
System.out.println(engine.eval(replace));
}
1.此代碼無法編譯('replace'未定義,'System.out.println'在方法外)。 2.目前尚不清楚預期產出和實際產出(以及投入)。 http://stackoverflow.com/help/mcve –
如果用戶輸入「z」作爲未知,該怎麼辦?如果有不止一個未知數呢?不是一個好的概念。 – duffymo