相关疑难解决方法(0)

Java中是否有eval()函数?

我有一个像下面这样的字符串:

String str = "4*5";
Run Code Online (Sandbox Code Playgroud)

现在我必须20通过使用字符串来获得结果.

我知道在其他一些语言中,这个eval()功能会做到这一点.我怎么能用Java做到这一点?

java eval

140
推荐指数
8
解决办法
15万
查看次数

编程语言编译器首先转换为汇编还是直接转换为机器代码?

我主要对流行的和广泛使用的编译器感兴趣,比如gcc.但如果不同的编译器对事情做了不同的事情,我也想知道.

以gcc为例,它是否将用C编写的简短程序直接编译为机器代码,或者首先将其转换为人类可读的汇编,然后才使用(内置?)汇编程序将汇编程序转换为二进制,机器代码 - CPU的一系列指令?

使用汇编代码创建二进制可执行文件是一项非常昂贵的操作吗?或者这是一个相对简单快速的事情?

(假设我们只处理x86系列处理器,所有程序都是为Linux编写的.)

我对此事的任何帮助和想法都非常感激.谢谢!

compiler-construction assembly

44
推荐指数
5
解决办法
2万
查看次数

是否可以将算术运算符传递给java中的方法?

现在我将不得不写一个看起来像这样的方法:

public String Calculate(String operator, double operand1, double operand2)
{

        if (operator.equals("+"))
        {
            return String.valueOf(operand1 + operand2);
        }
        else if (operator.equals("-"))
        {
            return String.valueOf(operand1 - operand2);
        }
        else if (operator.equals("*"))
        {
            return String.valueOf(operand1 * operand2);
        }
        else
        {
            return "error...";
        }
}
Run Code Online (Sandbox Code Playgroud)

如果我能编写更像这样的代码会很好:

public String Calculate(String Operator, Double Operand1, Double Operand2)
{
       return String.valueOf(Operand1 Operator Operand2);
}
Run Code Online (Sandbox Code Playgroud)

所以运算符会替换算术运算符(+, - ,*,/ ...)

有谁知道这样的东西在java中是否可行?

java math operators

29
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×2

assembly ×1

compiler-construction ×1

eval ×1

math ×1

operators ×1