gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:59:34 24 4
gpt4 key购买 nike

问题:我不知道如何像作业指示的那样适本地调用方法。

目标:在 main 方法中,使用第一个命令行参数 (args[0]) 调用 readFile 方法,然后使用第二个命令行参数 (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)
{

}
}

错误:

Multiple markers at this line
-inputFile cannot be resolved to a variable
-The method FileIO(String) is undefined for the type FileIO

最佳答案

我不想为你做作业,但我可以给你一些提示,让你走得更远。

首先与你得到的错误有关,你必须在 Java 中声明变量的类型,而不是仅仅说

inputFile = FileIO(args[0])

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

文件 inputFile = FileIO(args[0])

否则编译器不知道 inputFile 是什么并抛出该错误。

接下来它告诉您 FileIO(String) 不是一个函数。 FileIO 只是一个类,但您忘记指定要使用类中的哪个函数。例如,我希望您打算使用 FileIO.readfile(args[0])。目前尚不清楚您的第一个 mainFileIOmain 的实现还是仅使用 FileIO 的单独文件> 所以我需要看更多才能更详细。请注意,您必须有一个类的实例(如果您打算在其中调用非静态方法,则使用 new 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) 时,您实际上是在询问数组是否为空。

关于Java——如何使用 args[] 调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58735341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com