如下面一段代码,我已经找到错误,是args后面少了 [],但为什么就是能javac编译通过呢?而java解释运行过程中有出错呢?
public class getbytes
{
public static void main(String args[])
{  byte d[] = "你我他".getBytes();
 System.out.println("数组d的长度是(一个汉字占两个字节):" + d.length);
 String a = new String(d, 0, 2);
 System.out.print(a);
}
}

解决方案 »

  1.   

    不好意思,上面的代码是修改后的代码,原来的是下面这样的:
    public class getbytes
    {
    public static void main(String args)
    {  byte d[] = "你我他".getBytes();
     System.out.println("数组d的长度是(一个汉字占两个字节):" + d.length);
     String a = new String(d, 0, 2);
     System.out.print(a);
    }
    }
      

  2.   

    编译当然能通过,如
    class getbytes {
      public static void main(String args) {
      }
      public static void main(String[] args){
      }
    }java执行必须有public static void main(String[] args)
      

  3.   

    严重同意 kingfish(八百里秦川@龙城异客)
      

  4.   

    呵呵,kingfish(八百里秦川@龙城异客)说的很清楚了,我只有up
      

  5.   

    好像要加 try  我昨天也遇到这情况  去 sun.com  研究把
      

  6.   

    随便换一个编译器就可以了
    如JCreate
      

  7.   

    先将源码改为public static void main(String[]args)后,用javac编译后,若java还不能执行的话,再查一下环境变量中的CLASSPATH,将其设为刚才你编译后的类所在的路径
      

  8.   

    相信你的j2se是1.5版的,它就会出这个问题,我在网上看到过运行时要加上一定的参数的,但没在意。不过你完全可以用编译器的,JCreator、Eclipse等都行