2014-02-25 54 views
0

我想在字符串中查找字符。如果找到該字符,則向char_counter添加一個字符。我怎樣才能實現這個?如何搜索Java中每個字符的字符串

實施例:

int char_counter = 0; 
String password = "1234"; 
String search = "1234"; 
for(int i = 0; i < password.length() - 1; i++) { 
    for(int j = 0; j < search.length() - 1; j++) { 
     //This is just pseudo code since I don't know how to properly search a string 
     if(password[i] == search[j]) { 
      char_counter = char_counter + 1; 
     } 
    } 
} 
+0

你想在字符串中找到一個字符的出現是嗎? –

回答

1

試試這個..

如果你喜歡這款password[i] java會帶你應該像陣列

password.charAt(i)search.charAt(j)

而且你必須使用條件爲.equals

if(password.charAt(i).equals(search.charAt(i))){ 
    char_counter = char_counter + 1; 
} 

不是password[i] == search[j]

==始終只是比較兩個引用(對於非原語,這是) - 即它測試兩個操作數是否指的是相同的對象。

然而,equals方法可以重寫 - 因此兩個不同的對象仍可以等於...... Link

+0

只是一些補充說明,'密碼[I]'在這種情況下是無效的,因爲'String'是** **不是一個'char'的陣列在Java中。相反,Java提供'charAt()'來獲取'String'的底層'char'。此外,'=='比較值(對於基元),因此'password.charAt(i)== search.charAt(j)'也是有效的。 –

+0

感謝Hariharan!這是非常有益的:)我很感激:) – user3160974

+0

感謝安德魯爲您更好地瞭解:) – user3160974

1

你的僞代碼:
password[i]

應該是:

password.charAt(i) 

結果:

if(password.charAt(i) == search.charAt(j)){ 
    char_counter = char_counter + 1; 
} 
+0

謝謝TylerAndFriends你直截了當地回答:d我很感激:) – user3160974

1

可以使用toCharArray()方法首先轉換你字符串轉換成字符數組這樣:

Char[] pass = password.toCharArray(); 
Char[] sear = search.toCharArray(); 

然後使用java提供的任何比較「equals」。 「包含」。當然在一個for(string x:pass)。或用循環的計數器++

2
I don't know what do you want to do if you want to compare your password and search 
string character one bye than try this 

    int char_counter = 0,i,j; 
    String password = "1234"; 
    String search = "1234"; 
    if(password.length()==search.length()){  
     for(i=0,j=0;i<password.length();i++,j++){ 
      if(password.charAt(i)==search.charAt(j)){ 
       char_counter++; 
      } 
     } 
    } 


if you want to search each character in password string than try this 

    for(int i = 0; i < password.length() - 1; i++){ 
    for(int j = 0; j < search.length() - 1; j++) 
      { 
       if(password.length() == search.length()) 
       { char_counter = char_counter + 1;} 
      } 
    } 
+0

仙人感謝你的答案:) – user3160974

+0

歡迎我很高興,我可以幫你補充說明 –