Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Command Line Arguments - Fatal编程技术网

Java 通过参数将值传递给我的程序意味着什么?

Java 通过参数将值传递给我的程序意味着什么?,java,arrays,command-line-arguments,Java,Arrays,Command Line Arguments,我最近说我的代码不起作用,并显示消息: 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:0 在FactorialProgram5.main(FactorialProgram5.java:11) 使用代码: import java.util.Scanner; public class FactorialProgram5 { public static void main(String args[]) { lon

我最近说我的代码不起作用,并显示消息:

线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:0 在FactorialProgram5.main(FactorialProgram5.java:11) 使用代码:

import java.util.Scanner;

public class FactorialProgram5 {

    public static void main(String args[]) {
        long n;
        long fact = 1;
        n = 1;
        
        for (int i = 1; i <= n; i++) {
            n = Long.parseLong(args[0]);
            fact = fact * i;
        }

        System.out.print("fact=" + fact);
    }
}
import java.util.Scanner;
公共类阶乘程序5{
公共静态void main(字符串参数[]){
长n;
长事实=1;
n=1;

对于(inti=1;i这家伙说的是,在命令行中,您可以在运行java程序时键入参数,有点像这样:

<run-java-using-a-command> Bob Joe Bill

您可以在程序中使用这些参数。在Eclipse中,您可以单击
Run | Run | program arguments
(在屏幕顶部)编辑参数。

您的主要方法是从命令行获取任何参数。例如,如果您首先在命令行上导航到java文件的位置: 键入这些命令。 1.
javac filename.java
这将编译您的.java文件 2.
java文件名
(如果要在没有参数的情况下运行)。 要将参数传递到文件,请使用:
java文件名参数

这里,参数被转换为字符串数组(主方法中的args)

因此,当编译此文件时,将使用类似于以下命令的命令运行
java文件名99

代码中的行
n=Long.parseLong(args[0]);
将把数字99插入args[0].n将被设置为99,或者在每次运行此程序时在命令行上的
java filename
之后决定键入的任何内容。

这意味着您需要在命令行上添加一个参数,以便程序能够找到并处理它。在本例中,我使用的参数是数字3

我已经在命令行上编译并运行了您的程序,以演示它是如何工作的

$ javac FactorialProgram5.java
$ java FactorialProgram5 3    
fact=6
$
注意:我在打印指令中添加了一个缺少的换行符

System.out.print("fact=" + fact);
变成

System.out.print("fact=" + fact + "\n");

“我需要这样做,这样我也可以在命令提示符中使用此代码”如果您使用命令提示符,则在运行程序时会键入参数。
System.out.print("fact=" + fact + "\n");