多谢
public class Test1 {
    long num=1;
    void testCount(String args[0]){    
     for(long i=1;i<=parseLong(args[0]);i++){
          num=num*i;
     }
    }
    public static void main(String args[]){
        System.out.println(new Test1().testCount((args[0])));
    }
}

解决方案 »

  1.   

    parseLong(args[0]);在什么地方定义的这个方法
      

  2.   

    这是修改之后的,可能编译成功,却无法运行,parseLong在java.lang.Long里
    public class Test1 {
        long num=1;
        long  testCount(long a){    
         for(long i=1;i<=a;i++){
              num=num*i;
         }
         return num;
        }
        public static void main(String args[]){
            
            System.out.println(new Test1().testCount(java.lang.Long.parseLong(args[0])));
        }
    }
      

  3.   

    不传数组干嘛要用args[],parseLong(String)是Long类的方法,哪有你这么写的
      

  4.   

    这是修改之后的,可能编译成功,却无法运行,parseLong在java.lang.Long里
    public class Test1 {
        long num=1;
        long  testCount(long a){    
         for(long i=1;i<=a;i++){
              num=num*i;
         }
         return num;
        }
        public static void main(String args[]){
            
            System.out.println(new Test1().testCount(java.lang.Long.parseLong(args[0])));
        }
    }
    程序是没错
    (new Test1().testCount(java.lang.Long.parseLong(args[0])))这里的args[0]是你从命令行输入的参数,执行命令为java Test1 N,N为你要输的数字
      

  5.   

    public class MainClass { private long num=1;

    void testCount(String args){
    for(long i=1;i<=Long.parseLong(args);i++){
    num=num*i;
    }
    System.out.println(num);


    public static void main(String[] args) {

    new MainClass().testCount(args[0]);
    }}
      

  6.   

    public static void main(String args[]){
            System.out.println(new Test1().testCount(java.lang.Long.parseLong(args[0])));
    }
    其实你的args[0]是main的参数
    所以运行时的执行命令为java Test1 数字
      

  7.   

    void testCount(String args[0]) 方法声明里的参数不对,数组不能在声明的时候指定长度,应该是void testCount(String[] args) 才对,但是根据你的代码来看,参数用数组也没必要,参数只要传一个字符串就行,正确的是void test testCount(String arg)