Java - 使用Scanner将文件中的字符串和Ints拉入数组

时间:2012-11-26 03:52:54

标签: java arrays java.util.scanner

我正在尝试为ParkingArea创建一个数组(string,int,int,int,int)。正在扫描的文件位于http://uwf.edu/jcoffey/data.txt

try
{
  Scanner scan = new Scanner(file);
  for (int i = 0;scan.hasNext(); i++)
  {
    for(int x = 0; x < 4; x++)
    {
      if(x == 0)
      {
        name = scan.next();
      }
      else
      {
        array[x-1] = scan.next();
      }
    }
    ParkingArea[i] = new ParkingArea(name, array[0], array[1], array[2], array[3]);
  }
}
catch (FileNotFoundException e)
{
  e.printStackTrace();
}

编译时出现此错误。

Parking.java:40: error: incompatible types
              array[x-1] = scan.next();
                                    ^

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

scan.next()返回一个String。如果要将其转换为int,则需要调用`

Integer.parseInt(scan.next())

答案 1 :(得分:0)

而不是

array[x-1] = scan.next();

array[x-1] = scan.nextInt();
试一试。假设array的类型为int[],那么您的问题就是将int array[x-1]值分配给String,这就是scan.next() }返回。使用scan.nextInt()将返回int,从而解决错误。