Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.Scanner;
- public class SimpleExpression {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- String inputLine = input.nextLine().trim().replaceAll("\\s+","");
- String[] splitNums = inputLine.split("[-+]");
- String[] splitOperators = inputLine.split("[\\d\\s^.]");
- splitOperators = clean(splitOperators);
- splitNums = clean(splitNums);
- BigDecimal sum = new BigDecimal(splitNums[0]);
- for (int i = 1; i < splitNums.length; i++){
- BigDecimal temp = new BigDecimal(splitNums[i]);
- if (splitOperators[i-1].equals("+")){
- sum = sum.add(temp);
- }
- else{
- sum = sum.subtract(temp);
- }
- }
- System.out.printf("%.7f\n",sum);
- }
- public static String[] clean(final String[] v) {
- List<String> list = new ArrayList<String>(Arrays.asList(v));
- list.removeAll(Collections.singleton(""));
- return list.toArray(new String[list.size()]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment