2014-01-05 2 views
3

Android에서 다음 코드를 구현하고 싶습니다. 어떻게해야합니까?Android에서 스크립트 엔진 관리자를 사용하여 중급 식을 평가합니다

System.out.println("Enter a String"); 
Scanner sc = new Scanner(System.in); 
String string = sc.next(); 

System.out.println(new ScriptEngineManager().getEngineByName("JavaScript").eval(string));//this is solving infix expression using javascript 
+0

Android API는 이러한 클래스를 제공하지 않습니다. 그러나 단순히 표현식을 평가하기 위해 자체 스택을 구현할 수도 있습니다. 이것에 대한 두 번째 답변을 참조하십시오 : http://stackoverflow.com/questions/7185589/how-to-calculate-expression-in-java – user2336315

+0

lib에 jav8-jsr223-win-amd64-0.6.jar을 추가했습니다. 내 애플 리케이션에서 이러한 진술을 사용할 수 있지만 내가 execute.eval() .. 때 응용 프로그램이 충돌 거기에 어떤 해결책이 있습니까? – user2475511

+0

글쎄,이 라이브러리에 대한 경험이 없지만 관련 안드로이드 코드와 스택 트레이스를 게시하면 문제를 해결하는 데 도움이 될 것입니다. – user2336315

답변

0

캐스팅하려 했습니까? 이와 같이,

double a = (double) engine.eval("25+36"); 

또는 this (toString());

System.out.println(new ScriptEngineManager().getEngineByName("JavaScript").eval(string).toString()); 
+0

감사하지만 작동하지 않았습니다. 나는 맞춤 구문 분석기를 썼다. – user2475511

+0

나는 그것을 시도했다. 그것은 효과가 있었다. 최선을 찾길 바래. 문안 인사. –

+0

콘솔로 인쇄 할 때 java에서 작동하지만 안드로이드에서는 결과를 텍스트보기 또는 콘솔이 아닌 다른 것으로 표시하기 때문에 작동하지 않습니다. – user2475511

관련 문제