0

ユーザーが計算できる関数の作り方について、誰かが私に正しい方向を教えてもらえますか?

以下のように動作させたいのですが:

java Calculate 8*8  
the answer = 64

java Calculate 7+(8*2)
the answer = 23

基本的な数学演算子は私が最初に機能させたいものであり、括弧を使用することが次のステップです。

4

3 に答える 3

2

あなたは使用することができますScriptEngine

public static void main(String[] args) throws Exception {
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("JavaScript");

    //pass in the string containing the operation, for example:
    double multiplication = (double) engine.eval(args[0]); 
}
于 2012-09-15T12:03:32.303 に答える
1

作業コード:

import javax.script.*;
import java.util.Scanner;
public class Test   {

    public static void main(String[] args) throws Exception 
    {
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine engine = factory.getEngineByName("JavaScript");
        Scanner in = new Scanner(System.in);
        System.out.println("Enter your calculation: ");
        String userInput = in.next();
        //pass in the string containing the operation, for example:
        double calculation = (Double) engine.eval(userInput); 
        System.out.print("The answer = " + calculation);
    }
}
于 2012-09-15T12:40:43.797 に答える
0

ここを見てください:

Javaにeval()関数はありますか?

mainメソッドを使用して、コマンドラインから引数を渡すことができます。

public class Calculate{
    public static void main(String... args){
        if(args.length == 0){
            System.err.println("You forgot to add a formulate to run");
            return;
        }
        String formula = args[0];
        // Insert the formula into code from the link mentioned above
    }
}
于 2012-09-15T12:08:38.200 に答える