Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. public class Rpn {
  2. String str;
  3.  
  4. public Rpn(String rpn) {
  5. this.str.equals(rpn);
  6. }
  7.  
  8. void check(Rpn rpn) {
  9. String str = rpn.str;
  10. //первая проверка на количество скобок
  11. int numOpen = 0, numClose = 0;
  12. for (char element : str.toCharArray()) {
  13. if (element == '(') {
  14. numOpen++;
  15. }
  16. if (element == ')') {
  17. numClose++;
  18. }
  19. }
  20. if (numOpen != numClose) {
  21. System.out.println("Ошибка в количестве скобок");
  22. }
  23. //третья проверка (являются ли все элементы числами и знаками)
  24. for (char element : str.toCharArray()) {
  25. if ((!(element == '+')) && (!(element == '-')) && (!(element == '*')) && (!(element == ':')) && (!(element == '(')) && (!(element == ')')) && (!(element == '/')) && (!(Character.isDigit(element)))) {
  26. System.out.println("Ошибка");
  27. }
  28. }
  29. //четверта проверка (типа (a++b))
  30. for (int i = 0; i < str.length() - 1; i++) {
  31. if (str.charAt(i) == '+') {
  32. if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
  33. System.out.println("Ошибка");
  34. }
  35. }
  36. if (str.charAt(i) == '-') {
  37. if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '-') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
  38. System.out.println("Ошибка");
  39. }
  40. }
  41. if (str.charAt(i) == '*') {
  42. if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
  43. System.out.println("Ошибка");
  44. }
  45. }
  46. if (str.charAt(i) == ':') {
  47. if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
  48. System.out.println("Ошибка");
  49. }
  50. }
  51. if (str.charAt(i) == '/') {
  52. if (!(Character.isDigit(str.charAt(i + 1)))) {
  53. System.out.println("Ошибка");
  54. }
  55. }
  56. if (str.charAt(i) == '(') {
  57. if ((!(str.charAt(i + 1) == '-')) && (!(Character.isDigit(str.charAt(i + 1))))) {
  58. System.out.println("Ошибка");
  59. }
  60. }
  61. if (str.charAt(i) == ')') {
  62. if ((str.charAt(i + 1) == '/') && (Character.isDigit(str.charAt(i + 1))) && (str.charAt(i + 1) == '(')) {
  63. System.out.println("Ошибка");
  64. }
  65. }
  66. if (Character.isDigit(str.charAt(i))) {
  67. if (str.charAt(i + 1) == '(') {
  68. System.out.println("Ошибка");
  69. }
  70. }
  71. }
  72. }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement