Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package May_03_2017_Exam;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Stream;
- import java.util.Scanner;
- public class LetterExpression {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- String input = in.nextLine();
- String[] numStr = input.split("[-]?[^0-9]+");
- Double[] numbers = new Double[numStr.length];
- for (int i = 0; i < numStr.length; i++)
- {
- numbers[i] = Double.parseDouble(numStr[i]);
- }
- String[]miPl = input.trim().split("([-]?[0-9]+)");
- miPl = Arrays.stream(miPl).filter(x -> !x.equals("")).toArray(String[]::new);
- change(miPl);
- Double sum = calculate(miPl, numbers);
- int sumInt = sum.intValue();
- System.out.println(sumInt);
- }
- private static String[] removeNull(String[] arr)
- {
- List<String> list = new ArrayList<String>();
- for(String s : arr) {
- if (!s.equals(""))
- list.add(s);
- }
- arr = list.toArray(new String[list.size()]);
- return arr;
- }
- private static Double calculate(String[] signs, Double[] nums)
- {
- Double sum = nums[0];
- for (int i = 1; i < nums.length; i++)
- {
- if (signs[i-1].equals("+"))
- sum += nums[i];
- else if(signs[i-1].equals("-"))
- sum -= nums[i];
- }
- return sum;
- }
- private static String[] change(String[] arr)
- {
- for (int i = 0; i< arr.length; i++)
- {
- if(arr[i].length() % 2 == 0)
- arr[i] = "+";
- else
- arr[i] = "-";
- }
- return arr;
- }
- }
Add Comment
Please, Sign In to add comment