2013-08-12 1 views
3

(A OR B) AND C과 같은 표현을 평가하는 데 도움이 된 Javaluator을 사용해 보았습니다. 하지만 지금은 표현 (A OR B) AND CA AND C OR A AND B으로 확장하고 싶습니다. 어떤 몸이라도 Java에서 API 또는 다른 도움을 어떻게 할 수 있습니까?(A OR B) AND C와 A AND C AND A AND B 같은 식을 어떻게 확장 할 수 있습니까?

+3

가 빠른 시간 내에 연락 드릴 것입니다 ** 내가 ** 당신을 그리고하지 변수'i' : – Maroun

+2

((A & & C) || (A && B))? – Sw4Tish

+1

왜 도구가 필요합니까? 왜 코드를 편집하지 않는 것이 좋을까요? – mbeckish

답변

2

직접 할 필요가 없다면 Wolfram | Alpha API를 사용할 수 있습니다. 다양한 일반적인 형식으로 변환하는 등의 부울 대수 관련 기능이 풍부합니다. 등등. 그것이 숙제이고 자신 만의 휠을 발명해야한다면, 문자열을 토큰 화하기 위해 파싱 도구를 사용하거나 (또는 ​​휠을 다시 만들어야합니다.) http://mathworld.wolfram.com/BooleanAlgebra.html

나는 이보다 더 구체적으로 - 코드에 일련의 규칙을 작성하지 않고 (하드 코딩) 일반적인 경우에이 문제를 해결할 수 없습니다. 가장 간단한 방법은 ANTLR과 같은 것을 사용하여 부울 규칙에 제약이있는 언어를 만든 다음 입력을 입력하는 것입니다.

1

이것은 De Morgan 규칙이라고합니다. 가장 좋은 방법은 Karnaugh Map을 사용하는 것입니다. 이 truth table generator은 도움이 될 것입니다. 이것은 거짓 AND C A와 C OR A 및 B

+1

보다 일반적으로 부울 대수. De Morgan은 부정 AFAIK와 관련된 몇 가지 동등한 요소입니다. –

+0

@MartinSmith 네, 맞습니다 –

1

(OR B A) ... (A 또는 B)와 C가가 동일 (a 및 c) 또는 (B 및 C) ........

+1

어떻게 자바로 이것을 할 수 있습니까? – user2167728

+0

몇 가지 코드를 넣어, 우리는 당신을 도우려고 노력할 수 있습니다, 여기 사람들이 코드를 요구하는 곳이 아닙니다. 여기 사람들이 코드를 찾는데 도움이됩니다. – Deckard27

+0

@Pshemo 두 번째로 그가 같은 질문을 물어 봅니다 ...처음으로 그는 (A 또는 B)를 요구하고 C는 (a와 c) 또는 (B와 C)와 같음 ........ – Deckard27

0

변수의 수가 너무 크지 않은 경우 모든 변수 집합에 대해 식을 테스트 할 수 있습니다. 그리고 그것은 세트 사실이라면이 양식이 호출 OR (A and !B and C)

결과에 추가 A = true, B = false, C = true "Full disjunctive normal form"

관련 문제