스칼라 숫자 및 분수에 대한 기본 계산 (+, -, *, /)을 수행 할 수있는 수학적 문자열 표현 파서를 구현합니다. 예 : 평가 : "1/3 * (4/10-12/10)"은 "-4/15"를 반환합니다.Java 알 수없는 자식 유형이 런타임 전에 입력되었습니다.
기존 수학 계산 또는 분수 클래스에 의존하지 않고 유효한 수학 표현식을 사용할 수 있습니다.
- 스칼라
- 분획
- 기본적인 동작 (2 분획 2, 스칼라, 또는 각각 하나)
- 의 실행 우선 순위를 결정하기 위해 분석 될 배합 식 기본 작업
문자열을 전달할 때 프로그램은 작은 표현식 (혼합 표현식)으로 분류 할 수 있는지 또는 기본 연산 인 경우 평가할 것인지 결정합니다.
즉, 표현식이 주어지면 프로그램은 런타임에 어떤 유형의 클래스를 사용해야하는지 결정해야합니다.
이상적인 클래스/하위 클래스 구조는 무엇이며 개체 유형을 결정하는 코드는에 있어야합니까? 부모 클래스의 생성자에서? 정적 방법으로? 추상적 인 수업에서?
현재 Java를 사용하고 있지만 질문은 언어에 구애받지 않습니다.
문제 도메인을 개발 한 다음 해당 도메인에 대한 객체 모델을 개발하는 것과 마찬가지로 일반적으로 Java 또는 프로그래밍에 관한 문제는 아닙니다. 이 경우부터이 질문은 다른 포럼에 가장 적합 할 수 있습니다. – scottb