Изменение значения переменной

265
30 августа 2017, 14:15

Имеется следующий код:

package com.company;
import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        String[] arr = {"* 6",
                "* 48",
                "* 507",
                "* 53",
                "* 8",
                "+ 355",
                "+ 9",
                "* 8851",
                "+ 409",
                "* 4202",
                "+ 48",
                "* 8577",
                "+ 7",
                "* 10",
                "* 957",
                "* 6438",
                "* 823",
                "* 9",
                "+ 535",
                "* 340",
                "+ 7197",
                "* 482",
                "+ 5808",
                "+ 7145",
                "+ 3",
                "+ 22",
                "* 8568",
                "* 1",
                "+ 63",
                "* 2",
                "+ 10",
                "* 651",
                "+ 7",
                "+ 5",
                "+ 6470",
                "+ 9651",
                "+ 78",
                "+ 942",
                "+ 3352",
                "+ 370",
                "+ 464",
                "* 10",
                "+ 107",
                "* 12",
                "* 578",
                "* 886",
                "+ 245",
                "% 1108",
        };
        long a = 58;
        for (int i = 0; i<arr.length; i++){
            if (arr[i].contains("+")){
                arr[i] = arr[i].replaceAll("\\+ ", "");
                int pl = Integer.parseInt(arr[i]);
                a+=pl;
            }
            else if (arr[i].contains("*")){
                arr[i] =arr[i].replaceAll("\\* ","");
                int mu = Integer.parseInt(arr[i]);
                a*=mu;
            }
            else {
                arr[i] =arr[i].replaceAll("\\% ","");
                int di = Integer.parseInt(arr[i]);
                a%=di;
            }
                       }
        System.out.print(a);
    }
}

Задача программы - изъятие элемента массива, определение знака и последующее вычисление. a - начальное значение. Однако при компиляции, не могу понять почему, переменная a в некоторых случаях принимает отрицательное значение. В чём проблема?

READ ALSO
Подбор ресурсов для разных экранов для android приложения

Подбор ресурсов для разных экранов для android приложения

Здравствуйте, я начинающий android-разработчикУ меня имеется приложение, которое я хочу адаптировать под различные устройства

253
Как и куда указывать скрытый заголовок &ldquo;precedence:bulk&rdquo; для рассылки писем с Gmail?

Как и куда указывать скрытый заголовок “precedence:bulk” для рассылки писем с Gmail?

Как указать скрытый заголовок "precedence:bulk" для рассылки писем с Gmail, чтобы миновать спам фильтр?

260
Проблема с наследованием

Проблема с наследованием

Не могу переверстать меню так что бы не наследовались свойства для второго тега nav и списка внутри этого тегаПри ковырянии меню появляются...

400
Размещение содержимого div по центру

Размещение содержимого div по центру

Хочу разместить содержимое блока по центру, допустим это горизонтальное меню, как сделать чтобы не указывать ширину блоков, а они подстраивались...

349