Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java代码动态减少代数表达式_Java - Fatal编程技术网

使用java代码动态减少代数表达式

使用java代码动态减少代数表达式,java,Java,我想简化一个给定的表达式,如下所示 例:a+b-c+d-a-b+b-d=a+b-c+d-a+b-b+d 我想减少这些括号,并在括号后将符号乘以变量。 如何动态地进行?我一直坚持这个 您可以使用自下而上的方法使用正则表达式 +(f) rewrites to f (or +f if it does not start with a sign) -(f) rewrites to f with all signs in f reversed f不能包含任何自下而上的括号 重复此操作,直到所有括号都消失

我想简化一个给定的表达式,如下所示

例:a+b-c+d-a-b+b-d=a+b-c+d-a+b-b+d

我想减少这些括号,并在括号后将符号乘以变量。
如何动态地进行?我一直坚持这个

您可以使用自下而上的方法使用正则表达式

+(f) rewrites to f (or +f if it does not start with a sign)
-(f) rewrites to f with all signs in f reversed
f不能包含任何自下而上的括号


重复此操作,直到所有括号都消失为止

您的示例的右侧已经完成此操作。你的问题是什么,这与Java有什么关系?你能把你迄今为止尝试过的东西写出来吗?计算机代数是一个广泛的领域,看起来相当复杂。我建议首先研究现有的算法。你应该详细说明你的问题。一个群体,一个环的结构是什么?它是可交换的吗?您是否允许消除,例如b+a-b=a?等等@clemens是的,它应该做这些消除。。