gpt4 book ai didi

java - 在主函数中使用超出范围的变量

转载 作者:行者123 更新时间:2023-12-02 10:12:38 24 4
gpt4 key购买 nike

我有这种方法,如果没有参数,则使用标准文件,否则使用参数中的文件。

public class MainAnimal {
public static void main(String[] args) {
Parser parse = new Parser();
if ((args == null) || (args.length == 0)) {
File file = parse.getFile("findAnAnimal.csv");
} else {
System.out.println(args[0]);
}
List<String[]> animalList = parse.readFileAndParse(Paths.get(String.valueOf(file)));

但是,文件出现超出范围的错误。我知道为什么,因为它位于 if block 的本地。但有什么办法可以解决这个问题呢?

最佳答案

解决此问题的最简单方法是更改​​此 block :

if ((args == null) || (args.length == 0)) {
File file = parse.getFile("findAnAnimal.csv");
} else {
System.out.println(args[0]);
}

进入:

File file = null;
if ((args == null) || (args.length == 0)) {
file = parse.getFile("findAnAnimal.csv");
} else {
System.out.println(args[0]);
}

请记住您的最后一行:

 List<String[]> animalList = parse.readFileAndParse(Paths.get(String.valueOf(file)));

假设文件不为空。您应该事先检查文件是否为空,或者在获取文件后立即放入现有的 if...else block 。

关于java - 在主函数中使用超出范围的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54894701/

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