Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Rpn {
- String str;
- public Rpn(String rpn) {
- this.str.equals(rpn);
- }
- void check(Rpn rpn) {
- String str = rpn.str;
- //первая проверка на количество скобок
- int numOpen = 0, numClose = 0;
- for (char element : str.toCharArray()) {
- if (element == '(') {
- numOpen++;
- }
- if (element == ')') {
- numClose++;
- }
- }
- if (numOpen != numClose) {
- System.out.println("Ошибка в количестве скобок");
- }
- //третья проверка (являются ли все элементы числами и знаками)
- for (char element : str.toCharArray()) {
- if ((!(element == '+')) && (!(element == '-')) && (!(element == '*')) && (!(element == ':')) && (!(element == '(')) && (!(element == ')')) && (!(element == '/')) && (!(Character.isDigit(element)))) {
- System.out.println("Ошибка");
- }
- }
- //четверта проверка (типа (a++b))
- for (int i = 0; i < str.length() - 1; i++) {
- if (str.charAt(i) == '+') {
- if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == '-') {
- 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) == ')')) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == '*') {
- if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == ':') {
- if ((str.charAt(i + 1) == '+') || (str.charAt(i + 1) == '*') || (str.charAt(i + 1) == ':') || (str.charAt(i + 1) == '/') || (str.charAt(i + 1) == ')')) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == '/') {
- if (!(Character.isDigit(str.charAt(i + 1)))) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == '(') {
- if ((!(str.charAt(i + 1) == '-')) && (!(Character.isDigit(str.charAt(i + 1))))) {
- System.out.println("Ошибка");
- }
- }
- if (str.charAt(i) == ')') {
- if ((str.charAt(i + 1) == '/') && (Character.isDigit(str.charAt(i + 1))) && (str.charAt(i + 1) == '(')) {
- System.out.println("Ошибка");
- }
- }
- if (Character.isDigit(str.charAt(i))) {
- if (str.charAt(i + 1) == '(') {
- System.out.println("Ошибка");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement