String str="asdfghjkl";
int num=0;
for (int i=0;i<str.length();i++)
  {  
     if(str.substring(i,i+1)=="s")
{
  num=1;
  System.out.println(num);
}
 }
str字符串里明名是有s的,可是为什么IF语句不执行呢?

解决方案 »

  1.   

    if(str.substring(i,i+1).equals("s")
    ...if(str.charAt(i) == 's')if(str.indexOf("s") != -1)if(str.indexOf('s') != -1)if(str.contains("s"))
      

  2.   

    也谢谢zapdos(),可是我的分已经给了,下次补给你
      

  3.   

    对象之间的比较都应该使用obj.equals(obj)
      

  4.   

    还有一个问题,就是
    String str="asdfghsjkl";    如果字符串中有两个s
    int num=0;
    for (int i=0;i<str.length();i++)
      {  
         if(str.substring(i,i+1).equals("s"))
    {
      index=str.indexOf("i");     这里为什么不能取到s的下标啊?怎么才能取到啊
    }
     }
      

  5.   

    我知道了,直接用index=str.indexOf("s");就行了,多谢各位的帮忙,小妹感激不尽!