Java —如何使用args []调用方法?

问题描述 投票:2回答:1

问题:我不知道如何像赋值指令那样正确调用该方法。

目标:在main方法中,使用第一个命令行参数(readFile)调用args[0]方法,然后使用第二个命令行参数(writeFile)调用args[1]方法。

我尝试过的:

public static void main(String[] args)
{
    if(args.length == 0)
    {
        inputFile = FileIO(args[0]);
    }
    if(args.length == 1)
    {
        outputFile = FileIO(args[1]);
    }
}

要使用的代码:

public class FileIO {

    public void readFile(String inputFile)
    {

    }

    public void writeFile(String outputFile) 
    {

    }

    public static void main(String[] args)
    {

    }
}

错误:

此行有多个标记-inputFile无法解析为变量-未为FileIO类型定义方法FileIO(String)

java methods readfile writefile
1个回答
0
投票

我不想为你做作业,但是我可以给你一些提示,让你更进一步。

首先与您得到的错误有关,您必须在Java中声明变量的类型,所以不能只说

inputFile = FileIO(args[0])

您必须声明该变量的类型。我不确定FileIO()返回什么,但是如果它是File对象,则需要声明

File inputFile = FileIO(args[0])

如果编译器不知道inputFile是什么,并抛出该错误。

接着,它告诉您FileIO(String)不是函数。查找FileIO对象的文档,以了解使用它的正确方法。

最后,您需要了解基于零的数组的概念。具有一个元素的数组将使array.length告诉您1,但您会在索引array[0]处找到该值。例如:

String[] args = ["a","b"];
args.length;  // This is 2
args[0];      // This is "a"
args[1];      // This is "b"

所以最后一个元素始终位于索引array.length-1

当您说if(args.length == 0)时,您实际上是在问数组是否为空。

© www.soinside.com 2019 - 2024. All rights reserved.