You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.8 KiB

  1. public class MiniString {
  2. private String str;
  3. public MiniString(String str) {
  4. this.str = str;
  5. }
  6. public String makeSubstring(int beginIndex) {
  7. int length = this.str.length();
  8. String ret = "";
  9. for (int i = beginIndex; i < length; i++){
  10. ret += this.str.charAt(i);
  11. }
  12. return ret;
  13. }
  14. public String makeSubstring(int beginIndex, int endIndex) {
  15. int length = this.str.length();
  16. String ret = "";
  17. for (int i = beginIndex; i < endIndex; i++){
  18. ret += this.str.charAt(i);
  19. }
  20. return ret;
  21. }
  22. public int findIndexOf(char ch) {
  23. int ret = -1;
  24. for (int i = 0; i < this.str.length(); i ++ ){
  25. if (this.str.charAt(i) == ch) {
  26. ret = i;
  27. break;
  28. }
  29. }
  30. return ret;
  31. }
  32. public int findIndexOf(char ch, int fromIndex) {
  33. int ret = -1;
  34. for (int i = fromIndex; i < this.str.length(); i ++ ){
  35. if (this.str.charAt(i) == ch) {
  36. ret = i;
  37. break;
  38. }
  39. }
  40. return ret;
  41. }
  42. public int findIndexOf(String str) {
  43. int ret = -1;
  44. int sub_length = str.length();
  45. String cur_str;
  46. for (int i = 0; i < this.str.length() - sub_length; i++){
  47. cur_str = this.makeSubstring(i,i + sub_length);
  48. if (cur_str.equals(str)) {
  49. ret = i;
  50. break;
  51. }
  52. }
  53. return ret;
  54. }
  55. public int findIndexOf(String str, int fromIndex) {
  56. int ret = -1;
  57. int sub_length = str.length();
  58. String cur_str;
  59. for (int i = fromIndex; i < this.str.length() - sub_length; i++){
  60. cur_str = this.makeSubstring(i,i + sub_length);
  61. if (cur_str.equals(str)) {
  62. ret = i;
  63. break;
  64. }
  65. }
  66. return ret;
  67. }
  68. }