Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在运行这个java代码时发现了这个错误_Java - Fatal编程技术网

我在运行这个java代码时发现了这个错误

我在运行这个java代码时发现了这个错误,java,Java,它显示的错误如下所示: 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:0 在Factorial.main(Factorial.java:5) 您应该使用命令行参数运行此代码: class Factorial { public static void main(String args[]) { int num=Integer.parseInt(args[0]); int result=1

它显示的错误如下所示:

线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:0 在Factorial.main(Factorial.java:5)


您应该使用命令行参数运行此代码:

class Factorial
{
    public static void main(String args[])
    {

        int num=Integer.parseInt(args[0]);
        int result=1;
        while(num>0)
        {
            result=result*num;
            num--;
        }
        System.out.println("Factorial of Given Number is :" +result);
    }
}

此外,为了使您的编程更加方便用户,我建议您在尝试访问
args[0]
之前检查
args.length>0
,使用以下代码

java Factorial 5
使用参数运行程序

class Factorial {
    public static void main(String args[]) {
      if(args[0].length > 0) {
        int num=Integer.parseInt(args[0]);
        int result=1;
        while(num>0)
        {
            result=result*num;
            num--;
        }
        System.out.println("Factorial of Given Number is :" +result);
     } else {
      System.out.println("Your message requesting a number");
     }
    }
}

如果不分析任何参数,将打印“您的请求号码的消息”。

确保在执行程序时传递参数的内容,如:

Ex: java Factorial 5

如果不给程序一个命令行参数,就会发生这种情况。你是如何运行这个程序的?您正在向它传递任何参数吗?如果是,如何编辑?请将标题编辑为对该问题有用且具有描述性的内容。
 java fact 10