(A OR B) AND C
과 같은 표현을 평가하는 데 도움이 된 Javaluator
을 사용해 보았습니다. 하지만 지금은 표현 (A OR B) AND C
을 A AND C OR A AND B
으로 확장하고 싶습니다. 어떤 몸이라도 Java에서 API 또는 다른 도움을 어떻게 할 수 있습니까?(A OR B) AND C와 A AND C AND A AND B 같은 식을 어떻게 확장 할 수 있습니까?
답변
직접 할 필요가 없다면 Wolfram | Alpha API를 사용할 수 있습니다. 다양한 일반적인 형식으로 변환하는 등의 부울 대수 관련 기능이 풍부합니다. 등등. 그것이 숙제이고 자신 만의 휠을 발명해야한다면, 문자열을 토큰 화하기 위해 파싱 도구를 사용하거나 (또는 휠을 다시 만들어야합니다.) http://mathworld.wolfram.com/BooleanAlgebra.html
나는 이보다 더 구체적으로 - 코드에 일련의 규칙을 작성하지 않고 (하드 코딩) 일반적인 경우에이 문제를 해결할 수 없습니다. 가장 간단한 방법은 ANTLR과 같은 것을 사용하여 부울 규칙에 제약이있는 언어를 만든 다음 입력을 입력하는 것입니다.
이것은 De Morgan 규칙이라고합니다. 가장 좋은 방법은 Karnaugh Map을 사용하는 것입니다. 이 truth table generator은 도움이 될 것입니다. 이것은 거짓 AND C A와 C OR A 및 B
에
보다 일반적으로 부울 대수. De Morgan은 부정 AFAIK와 관련된 몇 가지 동등한 요소입니다. –
@MartinSmith 네, 맞습니다 –
(OR B A) ... (A 또는 B)와 C가가 동일 (a 및 c) 또는 (B 및 C) ........
어떻게 자바로 이것을 할 수 있습니까? – user2167728
몇 가지 코드를 넣어, 우리는 당신을 도우려고 노력할 수 있습니다, 여기 사람들이 코드를 요구하는 곳이 아닙니다. 여기 사람들이 코드를 찾는데 도움이됩니다. – Deckard27
@Pshemo 두 번째로 그가 같은 질문을 물어 봅니다 ...처음으로 그는 (A 또는 B)를 요구하고 C는 (a와 c) 또는 (B와 C)와 같음 ........ – Deckard27
변수의 수가 너무 크지 않은 경우 모든 변수 집합에 대해 식을 테스트 할 수 있습니다. 그리고 그것은 세트 사실이라면이 양식이 호출 OR (A and !B and C)
결과에 추가 A = true, B = false, C = true
"Full disjunctive normal form"
- 1. Coq - (a \/b \/c) = ((a \/b) \/c)
- 2. Regex a : b c d a : b
- 3. (a | b)가 a - (a & b) + b와 같은 이유는 무엇입니까?
- 4. 파이썬 a, b = b, a + b
- 5. 확장 브래킷! (a && b ||! c)
- 6. a = (a + b) - (b = a); C++ 대 PHP
- 7. A == B 대 B == A, 차이점은 무엇입니까
- 8. "a/b/c"를 [ "a/b/c", "a/b", "a"]로 변환하는 가장 쉬운 방법
- 9. (A <-> B) → A = B?
- 10. Blas와 같은 연산 최적화 - A` * B * A
- 11. [A, B]] 중 하나에 [A, Iterable [B]]
- 12. 파이썬에서 [ '[a, a, a]', '[b, b, b]]와 [[a, a, a], [b, b, b]]의 차이점은 무엇입니까? 내 코드를 디버깅 할 때 내 프로그램에서
- 13. [A] (B)와 일치 함 [A] (B)
- 14. C# 배열 [a, b, c] 대 배열 [a] [b] [c]?
- 15. 변환 맵 오브젝트 "[12, B : [A : B : C : A] D]"
- 16. Ruby는 네임 스페이스 경로를 제공합니까? 클래스 A :: B :: C와 같은 [: A, : B]와 같은 것?
- 17. 차이점 : A * a = new A(); 대 A b; A * c = & b;
- 18. "int N = a == b? a : a + b == 10? a + b : 0;"의 의미
- 19. 다음과 같은 명령문에서 쉼표는 무엇을 의미합니까? a, b = b, a?
- 20. `a : ~ : b`와`(a : == b) : ~ : True` 사이에 어떤 연결이 있습니까?
- 21. 정렬 a, b, c는 정렬 c와 같습니다. 정렬 b; 정렬?
- 22. {{# # a a b}} 결과 제한
- 23. 파이썬의 a, b = b, a는 어떻게 작동합니까?
- 24. 단순화 (a + b) XOR (c + b)
- 25. MySQL 수 행 a = b 및 b = a
- 26. angularjs binding : {{a}} {{b}} 또는 {{a + ""+ b}}로되어 있습니까?
- 27. python a = b b = c 함수 기타
- 28. 두 테이블을 연결하려고합니다. 표 A (a, b, c), 표 B (d)는 표 A (a, b, c, d)가되어야합니다.
- 29. PHP 내파의 A, B, C와 X 다른
- 30. (또는 -B/-A)
가 빠른 시간 내에 연락 드릴 것입니다 ** 내가 ** 당신을 그리고하지 변수'i' : – Maroun
((A & & C) || (A && B))? – Sw4Tish
왜 도구가 필요합니까? 왜 코드를 편집하지 않는 것이 좋을까요? – mbeckish