用Java以面向对象的方式表示逻辑操作
我的java程序将允许根据用户定义的逻辑操作过滤csv文件的内容。数据将从两列csv文件的内容中读取用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
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();
}