1

我正在尝试为 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();
                                    ^

任何帮助将不胜感激。

4

2 回答 2

0

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

Integer.parseInt(scan.next())
于 2012-11-26T03:56:09.913 回答
0

代替

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

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

试一试。假设它array是 type int[],那么您的问题来自将int值分配array[x-1]给 a String,这就是scan.next()返回的内容。使用scan.nextInt()将返回一个int,从而解决错误。

于 2012-11-26T03:58:16.650 回答