回想一下离散数学课程中的布尔表达式。如果存在某些命题变量:p、q、r、s、t、u,如果您需要更多变量,则可以使用 p1、p2、p3、……,并且存在三种基本操作:+、。 ,~,+用于OR运算,。是用于 AND 运算,第三个是用于求反运算。如果您有特定的布尔表达式,您可以根据变量的值给出该表达式的值。例如 p+qr 且 p 的值为 1,q 为 1,r 为 0,则表达式的值为 1。
使用java编程你需要做的是构建一个由两部分组成的系统:
第一部分:您有一个包含许多表达式的文本文件,每个表达式都在单行中。您需要读取每个表达式,系统将根据每个逻辑变量的输入值给出每个表达式的值。
我添加了以下类:OrGate、AndGate、NotGate,还为 Logicevaluate 做了一个抽象类并应用了继承的概念。还有其他类可以添加和使用吗?
用 Java 构建一个系统来计算文本文件中的布尔表达式是理解和实现使用面向对象原理解析和计算表达式的概念的一个很好的练习。您使用 OrGate、AndGate、NotGate 和抽象类 LogicEvaluate 的方法是可靠的,并且遵循将问题分解为可管理、可重用组件的设计原则。
要扩展您的系统并使其更加健壮和灵活,请考虑添加以下类和功能: