【问题标题】:How to populate Array of Strings from text file如何从文本文件中填充字符串数组
【发布时间】:2020-04-23 11:27:32
【问题描述】:

我正在尝试从 Stock.txt 中获取信息并将其传输到字符串数组中,每个索引都是文件中的一个新行。我收到警告:

重复的局部变量。是什么问题,是否超出范围?

public static List<String> getStock(List<String> stockText){
    Scanner scanner = null;
    try {
        File input = new File("Stock.txt");
        scanner = new Scanner(input);
        String[] info = null;
        while (scanner.hasNextLine()) {
            info = scanner.nextLine().split(",");
        }
        List<String> stockText = Arrays.asList(info);
    }   catch (Exception e) {
        e.printStackTrace();
        System.out.println(e.getMessage());
    }
    finally {
        scanner.close();
    }
    return stockText;
}

}

【问题讨论】:

  • stockText 是您的输入参数的名称和您在 try 块中创建的局部变量
  • 您将stockText 作为参数传递给该方法,然后创建另一个同名的局部变量。您从不使用参数,因此您可以将其从声明中删除。
  • 您是否尝试创建扫描仪类的对象,即 Scanner input = new Scanner(input);
  • 感谢大家的输入,我现在明白问题所在了! :)

标签: java arrays list


【解决方案1】:

事实上,stockText 是一个参数,然后您创建一个具有相同名称的变量。这是不允许的。如果您打算使用相同的变量,请从 List&lt;String&gt; stockText = Arrays.asList(info); 中删除 List&lt;String&gt;

否则,给变量取另一个名字。

【讨论】:

  • 最好是删除方法参数,因为它从未使用过。只需在函数内部创建一个 List 然后返回它。
  • @Amongalen 我通常不会提出这种类型的建议,因为在 SO 中发布的许多代码都被最小化了,并且可能存在一些原始代码的残留物在最小化版本中没有意义,但在完整版中很重要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多