こんにちは私は私の論理式を格納した文字のarraylistを持っています。私のコードはリスト内の変数を数え、私の問題は同じ変数を持つが、記号と括弧があるときです。例えば:xy + zy '変数の数は4でなければならず、yとy'は異なる。文字のArraylistでの変数の決定Java
public void simplify(String strexp){
int length = strexp.length();
//get the size and variables used in expression
List<Character> usedVariables = new ArrayList<Character>();
for (int i = 0; i < length; i++) {
char c = strexp.charAt(i);
if (Character.isLetter(c) && !usedVariables.contains(c)&&usedVariables.contains('\'')) {
usedVariables.add(c);
}
}
}
方法私の式は括弧を持っている場合はどうですか? –
残念ながら、あなたがしたいことは私には全く分かりません。単純な構文解析/解釈では '('を押して ')'を押してスタックを使うことができます。 –
私は真理値表を作るつもりで、最初にその式で使われる変数を特定する必要があります。真理値表の2つの出力は、単純化されていない式と簡略化された式に由来します。 –