2012-11-26 15 views
0

我试图为ParkingArea(string,int,int,int,int)创建一个数组。这是获得扫描的文件是在这里http://uwf.edu/jcoffey/data.txtJava - 使用Scanner将字符串和Ints从文件拖入数组

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(); 
            ^

任何帮助将非常感激。

+1

你在哪里定义'array'(即它是什么类型的对象)? –

+0

最有可能的是,您需要使用'scan.nextInt()' – madth3

回答

0

scan.next()返回一个字符串。如果你想将它转换为int,你需要调用代替

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

`

Integer.parseInt(scan.next()) 
+0

通过调用'scanner.nextInt()' – Perception

+0

确实可以更有效地使用扫描器来完成转换工作。感谢您指出这一点。 – ChaoSXDemon

0

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

一试。假设array的类型为int[],那么您的问题来自将int的值指定为String,这是scan.next()返回的值。使用scan.nextInt()将返回一个int,从而解决错误。