2016-02-25 2 views
-1

В моем приложении Java я полагаюсь на JavaScript, реализованный через ScriptEngine, для интерпретации и вычисления некоторых базовых макетов, которые я читал из String.JavaScript eval в JavaApplication: «javax.script.scriptException: ожидаемый операнд, но найденный»

Вот что Ive не получил:

public void calc(String comp){ 
try { 
      ScriptEngineManager mgr = new ScriptEngineManager(); 
      ScriptEngine eng = mgr.getEngineByName("JavaScript"); 
      res[k] = (Integer) eng.eval(comp); 

     } catch (Exception e){ 
      System.out.println("Error in res: " +e); 
     } 
    } 
} 

Независимо от того, какой вход, excuting приведет:

Ошибка в разрешении: javax.script.ScriptException:: 1: 5 Ожидаемый операнд но обнаружили, [3, -, 3] ^ по крайней линии номер 1 в колонке № 5, здесь с образцовым входным компом = "3-3"

.

Или:

Ошибка в общественных местах ИНТ [] Рез: javax.script.ScriptException:: 1: 6 Ожидаемый операнд, но нашел * [-12, *, 3] ^ в в строке номер 1 в колонке номер 6

Я не знаю JavaScript, поэтому я не знаю, что делать, чтобы исправить эту ошибку.

+0

Какой Javascript Строка вы перейти к двигателю? – Berger

+0

О чем вы говорите, как я уже сказал, я ничего не знаю о javaScript – Zi1mann

+0

Итак, что такое 'comp'? Код Fortran? – Berger

ответ

0

Похоже, что строка представляет собой стробированный массив, так что вам нужно будет либо до join() массива в JavaScript, прежде чем передавать его в приложение Java, либо написать код Java для этого.

Вот код JavaScript:

var str = [3, '-', 3].join(''); // "3-3" 
Смежные вопросы