用Java以面向对象的方式表示逻辑操作

用Java以面向对象的方式表示逻辑操作,java,csv,macros,boolean-logic,oop,Java,Csv,Macros,Boolean Logic,Oop,我的java程序将允许根据用户定义的逻辑操作过滤csv文件的内容。数据将从两列csv文件的内容中读取 left right 5 10 2 6 用户将在命令行上提供一个逻辑条件操作,该命令行引用左侧和右侧。程序应根据逻辑操作的结果过滤csv文件的内容 IF ((left < right) AND (left !=10)) THEN 5 ELSE right 对于和的情况,我只需要维护一个条件列表,并遍历该列表以确保所有条件都是真的。但是我如何表示IF-TH

我的java程序将允许根据用户定义的逻辑操作过滤csv文件的内容。数据将从两列csv文件的内容中读取

left    right
5       10
2       6
用户将在命令行上提供一个逻辑条件操作,该命令行引用左侧和右侧。程序应根据逻辑操作的结果过滤csv文件的内容

IF ((left < right) AND (left !=10)) THEN 5 ELSE right 

对于和的情况,我只需要维护一个条件列表,并遍历该列表以确保所有条件都是真的。但是我如何表示IF-THEN-ELSE关键字呢?

遵循您的界面约定:

interface Conditional {
    public Condition Condition();
    public int TrueValue();
    public int FalseValue();
}

我会使用类,而不是指int,我也会指一个
表达式
类。

与其采用这种方法,不如使用类似于Velocity的方法?您基本上读取数组中
left
中的所有数字,以及不同数组中
right
中的所有数字,并将这些数组传递给Velocity上下文,然后让用户键入一个Velocity样式(如果有条件),并让Velocity处理其余的

interface Condition
{
    public int getLeft();
    public Operation();
    public int getRight();
}
interface Conditional {
    public Condition Condition();
    public int TrueValue();
    public int FalseValue();
}