2013-05-03 71 views
2

我不認爲我有一個牢固的理解爲什麼-1在這段代碼中起作用:它只是一個允許程序繼續運行的位置標記嗎?任何幫助或指導將不勝感激。Java - 刪除字符

public class RemovingChar { 

    public static void main(String[]args) 
    { 
     String str = "Looking out the window of my small apartment"; 
     String remove = "aeiou"; 


     String x = " "; 

     for(int i=0; i<str.length(); i++) 
     { 
      char c = str.charAt(i); 

      if(remove.indexOf(c) == -1) 
      { 
       x+= c; 
      } 
     } 
     System.out.print(x); 
    } 
} 
+5

檢查[文檔](http://docs.oracle.com/javase/7/docs/api/java /lang/String.html#indexOf%28int%29),看看你能否弄清楚。 – 2013-05-03 08:45:20

+0

...和/或通過調試程序,看看會發生什麼。 – Kai 2013-05-03 08:46:17

回答

1

-1表示Character在給定的String中找不到。

docs其明確寫道:

如果此字符串中沒有出現這樣的字符,則返回-1。

0
remove.indexOf(c) == -1 

如果c將不會出現在remove字符串返回-1

0

indexOf()如果沒有找到,則返回匹配字符串的索引...或-1

例如

,如果你的字符串是「你好」那麼指數「ELLO」是(因爲它的發現在位置1)。

,如果你的字符串是「你好」那麼指數 「喇嘛」-1(因爲它沒有發現等indexOf回報-1

參考文獻在

0

如果參數字符不在012中,則通過方法indexOf返回-變量。

0
StringBuilder strB = new StringBuilder(yourstring); 
    strB.deleteCharAt(yourstring.length() - 1); 

    System.out.print(strB.toString()); 

,如果你想使一個JButton會像退格這裏有一個Tutorial