2014-11-08 2 views
0

사용자가 문자열을 입력 할 수 있도록 스캐너 클래스를 사용하고 있으며, 프로그램은 문자열이 a인지 여부를 결정합니다.) 그냥 숫자입니다. 변수 c.) 변수 x에 대한 계수.) 변수에 대한 변수 또는 d) 변수에 대한 변수의 배수. 예를 들어, 사용자가 "3"을 입력하면 프로그램은 대문자로 판단합니다. 사용자가 "x^43"을 입력하면 컴퓨터는 케이스 d로 판단합니다.어떤 수학 용어 유형이 문자열인지 판단하는 프로그램

솔직히, 나는 어디로 가야할지 전혀 모른다. 나는 스팅을 숫자로 변환 할 수 있는지 알아보기 위해 try-catch 블록을 만들려고 시도했지만 경우에만 해당됩니다. 어떤 경우인지 판별하기 위해 패턴을 찾기 위해 문자열을 검사 할 수있는 간결한 코드를 어떻게 만들 수 있는지 잘 모르겠습니다. 누군가 나를 올바른 방향으로 조종 해 줄 수 있습니까?

덕분에, Shubhang

+1

http://docs.oracle.com/javase/tutorial/essential/regex/ – ajb

+0

@ajb의 응답에 추가 - 사용자가 입력 한 문자열을 구문 분석하고 묶음을 사용할 수 있습니다 복잡한 논리를 사용하거나 RegEx (또는 Regular Expression)를 사용하여 패턴 일치를 수행 할 수 있습니다. –

+0

좋아요, 이것에 대해 살펴 보겠습니다. 정말 고맙습니다!! –

답변

0

난 당신이 수학 식에 대한 실제 파서를 사용하는 것 같아요. 예를 들어 내 Symja 프로젝트를 사용할 수 있습니다. Calculus example에서 기본 사용법을 볼 수 있습니다. 평가 후이 메소드를 호출하여 result 표현식의 유형을 감지 할 수 있습니다. 표현이 Times() 또는 Power() 표현 인 경우

result.isNumber() 
result.isSymbol() 
result.isTimes() 
result.isPower() 

, 당신은 그것은 AST expression 캐스팅 추가 속성을 감지 할 수 있습니다.

관련 문제