【问题标题】:Assigning numbers from text file to hashtable将数字从文本文件分配到哈希表
【发布时间】:2012-12-16 19:38:03
【问题描述】:

我正在尝试将文本文件中的数字分配给哈希表,第一个数字作为键,第二个数字作为值,文本文件看起来像第一行(123 321)第二行(456 565)第 n 行(789 875)所以我正在尝试将空格后的数字作为值分配。

我不知道该怎么做

Scanner scanner = new Scanner(new File("C:/Users/msi/Documents/number.txt"));
scanner.useDelimiter(" ");

Hashtable<String, String> numbers = new Hashtable<String, String>();

while(scanner.hasNext()) 
{
    numbers.put(scanner.next(),scanner.next());
    System.out.println(numbers);
}

【问题讨论】:

  • 你得到的错误是什么?

标签: java hashtable


【解决方案1】:

据我了解,Scanner 类用于逐行解析文件。通过将分隔符设置为空格字符“”,您会得到下一个换行符不再是分隔符的错误。因此,您将获得以下值

  • 123
  • 321\n456
  • 565\n...
  • ...\n789
  • 875

解决这个问题的一种方法是在逐行读取值后拆分它们:

Scanner scanner = new Scanner(new File("C:/Users/msi/Documents/number.txt"));

Hashtable<String, String> numbers = new Hashtable<String, String>();

while(scanner.hasNext()) 
{
    String[] values = scanner.next().split(" ");
    numbers.put(values[0], values[1]);
    System.out.println(numbers);
}

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2013-01-18
    • 1970-01-01
    • 2018-12-29
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多