带有文本文件的并行数组

时间:2013-11-20 06:01:07

标签: java arrays arraylist parallel-processing

我想组织一个包含多个数据的文本文件

A 33 9.25

V 92 1.123

H 100 2.4

进入并行数组

到目前为止,我要声明arraylist,我知道我需要用while循环和hasnext做一些事情......不知道从那里去哪里。

  public static void main(String[] args) throws IOException
  {
        Scanner fileIn = new Scanner ( new File("sortdata.txt"));

      ArrayList<Character> array1 = new ArrayList<Character>();
      ArrayList<Integer> array2 = new ArrayList<Integer>();
      ArrayList<Double> array3 = new ArrayList<Double>();


        while (fileIn.hasNext())
        String i = fileIn.next();
        int k = 0;
        for(i.index(k);i.length();i.index(k++))
            if (i.index(k) =='.')
        {

        }

            }

我知道我的一些代码是错的,但我已经看了很长时间了,我想我只是遗漏了一些小问题。

2 个答案:

答案 0 :(得分:2)

从文件中读取每一行String i = fileIn.next();trim()字符串(以消除@X86建议的前导和尾随空格),然后按照以下步骤操作。

  1. 使用String#split()方法在空白处拆分字符串。
  2. 上面拆分方法返回的String []包含所有需要的3个数据。
  3. 从字符串[0]获取使用string.charAt(0)的字符并将其放入Character ArrayList。
  4. 使用Integer.parseInt(string[1])将字符串[1]解析为整数并将其放入整数数组列表中。
  5. 使用Double.parseDouble(string[2])将字符串[2]解析为Double,并将其放入Double ArrayList。

答案 1 :(得分:0)

这应该有效:

while (fileIn.hasNextLine()) {
         String c[]= fileIn.nextLine().split(" ");
         array1.add(new Character(c[0].charAt(0)));
         array2.add(new Integer(c[1].trim()));
         array3.add(new Double(c[2].trim()));

         }