Отрицательное число [требует правки]

260
12 декабря 2017, 19:19

Калькулятор читает строку, щитает нормально, но если первое число с минусом, прога валиться. Можете помочь?

 public static Double eval(StringBuilder s, Double indexOf) {
    LinkedList<Double> st = new LinkedList<Double>();
    LinkedList<Character> op = new LinkedList<Character>();
    String operand = "";
    char y;
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        y = ' ';
        if (i !=s.length()-1){
            i++;
            y =s.charAt(i);
            i--;
        }
        String t = String.valueOf(c);
        Pattern p = Pattern.compile("^[0-9]*[.,]?+$");
        Matcher m = p.matcher(t);        
        if (isDelim(c))
            continue;
        if (c == '(')
            op.add('(');
        else if (c == ')') {
            while (op.getLast() != '(')
                processOperator(st, op.removeLast());
            op.removeLast();
        } else if (isOperator(c)) {
            while (!op.isEmpty() && priority(op.getLast()) >= priority(c))
                        processOperator(st, op.removeLast());
            //st.add(Double.parseDouble(operand));
            //operand="";
            op.add(c);
            /*if (c == '-'){
               operand +=c;
               st.add(Double.parseDouble(operand));
               System.out.println(operand);  
              }*/
         }else if (i == s.length()-1  ){
            operand += s.charAt(i++);
            System.out.println(operand);
            st.add(Double.parseDouble(operand));
         }else {
            while (i < s.length() && m.find() )
                operand += s.charAt(i++);
            --i;
            //st.add(Double.parseDouble(operand));

https://github.com/VitYok1104/calculator/blob/master/Frame_11/src/Frame/Frame.java

READ ALSO
Получение даты с сервера (ПК)

Получение даты с сервера (ПК)

Всем привет, есть такая вот ссылка на jsp странице:

218
Java сравнение char

Java сравнение char

Помогите разобраться с сравнением символов в Jave, почему sout всегда выводит false, документ тоже в UTF-8Первый символ в доке русская 'с'

406
Ошибка incompatible types при попытке присвоить типу float значение с дробью

Ошибка incompatible types при попытке присвоить типу float значение с дробью

Выходит ошибка: incompatible types при попытке присвоить типу float значение с дробью

241
Sip Server on Java

Sip Server on Java

Как написать SIP сервер на java? Есть код, но как этот сервер запустить я так и не понял

227