public static boolean ordinalNumberStringP(String teststring) {
    { int len = teststring.length();
      boolean teenP = (len > 3) &&
          ('1' == teststring.charAt((len - 4)));
      String suffix = "th";

      if (len < 3) {
        return (false);
      }
      { char c = Stella.NULL_CHARACTER;
        String vector000 = teststring;
        int index000 = 0;
        int length000 = vector000.length();
        int i = Stella.NULL_INTEGER;
        int iter000 = 0;
        int upperBound000 = len - 3;

        for (;(index000 < length000) &&
                  (iter000 <= upperBound000); index000 = index000 + 1, iter000 = iter000 + 1) {
          c = vector000.charAt(index000);
          i = iter000;
          i = i;
          if (!(Stella.$CHARACTER_TYPE_TABLE$[(int) c] == Stella.KWD_DIGIT)) {
            return (false);
          }
        }
      }
      if (!(teenP)) {
        switch (teststring.charAt((len - 3))) {
          case '1': 
            suffix = "st";
          break;
          case '2': 
            suffix = "nd";
          break;
          case '3': 
            suffix = "rd";
          break;
          default:
          break;
        }
      }
      return (Stella.suffixMatchesP(teststring, suffix));
    }
  }