1. Java / Говнокод #91

    +27

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    private int checkTerm(PatternTerm term, int arr[],
          int symbNum, boolean isEditing) {
        if (term.count != INFINITY) {
          int endIdx = Math.min(symbNum + term.count, arr.length);
            int count = 0;
            switch(term.termType) {
              case DIGIT: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isDigit((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case LETTER: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isLetter((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case LETTERORDIGIT: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isLetterOrDigit((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case CHARACTER: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (arr[i] != term.value)
                    return -1;
                  count++;
                }
                break;
              }
          }
          if (!isEditing && count != term.count)
            return -1;
          
          symbNum+=term.count;
        } else {
          int i = 0;
          switch(term.termType) {
            case DIGIT: {
              while (((symbNum + i) < arr.length) &&
                  Character.isDigit((char)arr[symbNum + i])) i++;
              break;
            }
            case LETTER: {
              while (((symbNum + i) < arr.length) &&
                  Character.isLetter((char)arr[symbNum + i])) i++;
              break;
            }
            case LETTERORDIGIT: {
              while (((symbNum + i) < arr.length) &&
                  Character.isLetterOrDigit((char)arr[symbNum + i])) i++;
              break;
            }
            case CHARACTER: {
              while (((symbNum + i) < arr.length) &&
                  (arr[symbNum + i] == term.value)) i++;
              break;
            }
          }
          symbNum+=i;
        }
        return symbNum;
      }

    Паша любит такие конструкции, которые хрен разобрать

    Запостил: guest, 10 Декабря 2008

    Комментарии (4) RSS

    Добавить комментарий