当前位置: 首页 > 知识库问答 >
问题:

如何将逗号分隔的字符串和整数添加到两个不同的数组列表中

贲永思
2023-03-14

假设我有从文件中读取的字符串和整数,并用逗号分隔,我想将它们添加到两个不同的 arrayList 中。

汉堡包,15

奶酪,10

苏打水,15

我该怎么做呢?我最初使用nextLine()将它们添加到一个数组列表中并提取整数并擦除逗号,但这对数组列表不起作用。我还尝试使用nextInt()来获取int,但出现了异常。

  public static void readFile(ArrayList items, ArrayList cost)
  {
    String intValue = "";
    try
    {
      Scanner read = new Scanner(new File("Menu.txt"));
      while (read.hasNext())
      {
        items.add(read.nextLine());
      }
      read.close();
      for (int i = 0; i < items.size(); i++)
      {
        intValue = items.indexOf(i).replaceAll("[^0-9]", "");
        int value = Integer.parseInt(intValue);
        cost.add(value);
      }
      System.out.println(item);
      System.out.println(cost);
    }
    catch(FileNotFoundException fnf)
    {
      System.out.println("File was not found.");
    }
  }

我的最终结果将是:

项目=[汉堡包,奶酪,苏打水]

成本= [15,10,15]

共有1个答案

丁灿
2023-03-14
public static void readFile(List<String> items, List<Integer> costs) {
    try {
        Scanner read = new Scanner(new File("Menu.txt"));
        while (read.hasNext()) {
            String line = read.nextLine();
            String[] itemsAndCosts = line.split(",");
            items.add(itemsAndCosts[0]);
            costs.add(Integer.parseInt(itemsAndCosts[1]));
        }
        read.close();
        System.out.println(items);
        System.out.println(costs);
    } catch (FileNotFoundException fnf) {
        System.out.println("File was not found.");
    }
}
  1. 使用<code>列表
try (Scanner read = new Scanner(new File("Menu.txt"))) {
    while (read.hasNext()) {
        String line = read.nextLine();
        String[] itemsAndCosts = line.split(",");
        items.add(itemsAndCosts[0]);
        costs.add(Integer.parseInt(itemsAndCosts[1]));
    }
    System.out.println(items);
    System.out.println(costs);
} catch (FileNotFoundException fnf) {
    System.out.println("File was not found.");
}
 类似资料:
  • 问题内容: 欲分割为4的阵列,以利用 这是我的代码: 但是,结果标记是一个空数组:[],而不是 我想要的4数组。 我已经测试过更改一点: 这次的结果标记为。这与我想要的接近,但是我真的不想在拆分之前添加此“ 1”。 问题基本上是,如果它仅包含空元素,它将返回一个空数组。 您能帮助解决问题吗? 问题答案: 您需要使用带有limit参数的重载方法。 从文档(重点是我的): limit参数控制应用图案的

  • 问题内容: 我有一个逗号分隔的字符串,我想将其转换为数组,因此可以循环遍历它。 有内置的功能吗? 例如,我有这个字符串 现在我想用逗号将其分割,然后将其存储在数组中。 问题答案: MDN参考,主要用于参数可能发生的意外行为。(提示:出来的不是。)

  • 问题内容: 我需要在逗号处将字符串输入拆分为一个数组。 我该如何做到这一点? 输入: 问题答案: 尝试: 输出:

  • 我想拆分到一个数组4使用 这是我的代码: 但是,结果标记是一个空数组:[],而不是我想要的4的数组。 我已经测试过稍微更改一下str: 这次的结果标记是<代码>[“”、“”、“”、“”、“”1“]。这接近我想要的,但我真的不想在进行拆分之前添加这个“1”。 问题基本上是字符串。如果split()只包含空元素,它将返回空数组。 你能帮我解决这个问题吗?

  • 问题内容: 使用Python v2,我在程序中运行一个值,该值末尾将一个数字四舍五入到小数点后两位: 像这样: 有没有办法在小数点后每三位插入一个逗号值? 即:10000.00变成10,000.00或1000000.00变成1,000,000.00 谢谢你的帮助。 问题答案: 在Python 2.7和3.x中,可以使用格式语法 这是在记录PEP 378 -格式说明千位分隔符 并且在一个例子官方文档

  • 问题内容: 我试图将字符串数组作为参数传递给Wetland类的构造函数;我不明白如何将字符串数组的元素添加到字符串数组列表。 问题答案: 您已经具有内置方法:- 注 : -您应该使用没有。 返回一个不同的-> ,不能将其类型转换为。 然后,您将不得不使用方法,这不是很好。所以就用 注意 :-返回的列表是固定大小的列表。如果要向列表中添加某些内容,则需要创建另一个列表,并用于向其中添加元素。所以,那