下面的程序怎么运行不了呀?
大家帮忙看看,谢谢!!代码如下:
import java.io.* ;
class Test5_7
{
  public static void main(String args[])
    {
       int count = 0 ;
       for(int i=0 ; i<args.length ; i++)
          {
              if(args[i] == 'a')
                  count++ ;
          }
       System.out.println("字母a出现次数为: " + count + "次") ;
    }
}错误提示:D:\JDK1.41\JDK1.41setup\bin>javac Test5_7.java
Test5_7.java:9: operator == cannot be applied to java.lang.String,char
              if(args[i] == 'a')
                         ^
1 error

解决方案 »

  1.   

    args是一个String array,array中得元素都应该是String类型的变量,而'a'是一个char类型的变量,她们属于不同的类型所以不能使用简单的==号进行比较
    @.@||~
      

  2.   

    if(args[i] == 'a')改成 if(args[i].equals("a"))试试
      

  3.   

    if(args[i] == 'a')改成 if(args[i].equals("a"))试试这样运行就成功了
      

  4.   

    因为main函数的参数为String[],是字符串数组,里面的元素都是字符串,所以自然不能够把它与字符型进行直接比较。你可以使用楼上的方法就可以了。或者使用:
    args[i].toChar(0) == 'a'判断也可以。
    不过还是楼上的那种方法是正解。
      

  5.   

    import java.io.* ;
    class Test5_7
    {
      public static void main(String args[])
        {
           int count = 0 ;
           for(int i=0 ; i<args.length ; i++)
              {
                  if(args[i].equals("a")) //OK
                      count++ ;
              }
           System.out.println("字母a出现次数为: " + count + "次") ;
        }
    }
      

  6.   

    java Test5_7 a v e v a ab字母a出现次数为:2次"ab" equals("a") = false