2014-10-27 60 views
-3

大多數答案都使用length()或charAt()或toCharArray()方法。不過,我想要在字符串中獲取子字符串的位置,而不使用任何這些字符串。 在此先感謝您的幫助如何在不使用任何內置方法的情況下獲取Java中字符串的位置。

+0

爲什麼你不想使用這些方法?工作更輕鬆,不難。 – 2014-10-27 23:28:11

+0

也許你應該對你實際嘗試做什麼更具體一些。也許正則表達式是一種可能性。 – PzYon 2014-10-27 23:28:34

+3

[indexOf()](http://www.tutorialspoint.com/java/java_string_indexof.htm)會有幫助嗎? – Bijan 2014-10-27 23:29:59

回答

-3
public class HelloWorld { 

    public static void main(String []args) { 
     char[] string = {'t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 's', 't', 'r', 'i', 'n', 'g', 0}; 
     char[] substring = {'i', 's', ' ', 0}; 
     int c = 0; 
     Boolean found = false; 
     int position = 0; 

     while (string[c] != '\0') { 
      int f = 0; 
      while (string[c+f]==substring[f]) f++; 
       if (substring[f]=='\0') { 
        found = true; 
        position = c; 
       } 
      c++; 
     } 
     if (found) 
      System.out.println("found at position " + position); 
    } 
} 
+0

嗯,我想*不使用Java *是避免使用Java的內置方法的一種方法,但什麼語言*就是它? ;) – 2014-10-28 01:08:55

+0

pfft。所以我從內存中寫道..只有非java是分配字符串char []。將分配改爲{'t','h','i','s','','i','s','','a','','s','t',' r','i','n','g'}和另一個字符串以相似的方式運行。作業與C – CharlieS 2014-10-28 01:18:09

+0

混淆添加一個字符串終結者,即。 {'t','h','i','s','','i','s','','a','','s','t','r', 'i','n','g',0} – CharlieS 2014-10-28 01:27:48

3

這是不可能的。 A Stringchar[]支持。訪問char[]或其元素的唯一方法是通過String方法。如果您不能使用這些方法中的任何一種,則無法在其中找到子字符串。

相關問題