Guest User

Untitled

a guest
Oct 15th, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. package May_03_2017_Exam;
  2.  
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6. import java.util.List;
  7. import java.util.stream.Stream;
  8. import java.util.Scanner;
  9.  
  10. public class LetterExpression {
  11. public static void main(String[] args) {
  12. Scanner in = new Scanner(System.in);
  13. String input = in.nextLine();
  14. String[] numStr = input.split("[-]?[^0-9]+");
  15. Double[] numbers = new Double[numStr.length];
  16. for (int i = 0; i < numStr.length; i++)
  17. {
  18. numbers[i] = Double.parseDouble(numStr[i]);
  19. }
  20. String[]miPl = input.trim().split("([-]?[0-9]+)");
  21. miPl = Arrays.stream(miPl).filter(x -> !x.equals("")).toArray(String[]::new);
  22. change(miPl);
  23. Double sum = calculate(miPl, numbers);
  24. int sumInt = sum.intValue();
  25. System.out.println(sumInt);
  26.  
  27. }
  28. private static String[] removeNull(String[] arr)
  29. {
  30.  
  31. List<String> list = new ArrayList<String>();
  32.  
  33. for(String s : arr) {
  34. if (!s.equals(""))
  35. list.add(s);
  36.  
  37. }
  38.  
  39. arr = list.toArray(new String[list.size()]);
  40. return arr;
  41. }
  42. private static Double calculate(String[] signs, Double[] nums)
  43. {
  44. Double sum = nums[0];
  45. for (int i = 1; i < nums.length; i++)
  46. {
  47. if (signs[i-1].equals("+"))
  48. sum += nums[i];
  49. else if(signs[i-1].equals("-"))
  50. sum -= nums[i];
  51. }
  52. return sum;
  53. }
  54.  
  55.  
  56. private static String[] change(String[] arr)
  57. {
  58. for (int i = 0; i< arr.length; i++)
  59. {
  60. if(arr[i].length() % 2 == 0)
  61. arr[i] = "+";
  62. else
  63. arr[i] = "-";
  64. }
  65. return arr;
  66. }
  67. }
Add Comment
Please, Sign In to add comment