问题:我不知道如何像赋值指令那样正确调用该方法。
目标:在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
中声明变量的类型,所以不能只说
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)
时,您实际上是在问数组是否为空。