-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