2014-12-02 79 views
-1

我写并行阵列代码,当我读入数据,并尝试以显示它这个错误出现。教我实验室的GA没有看到我的代码有问题,并说我应该在这里尝试。这里是我的代码,错误会在它后面。我正在使用eclipse。文件未发现异常 - Java的

import java.util.Scanner; 
import java.io.File; 
import java.io.FileNotFoundException; 
public class parallelArrays { 
    public static void main(String[] args) throws FileNotFoundException { 
     File cityPopulation = new File("cityPopulationData.txt"); 
     Scanner fileReader = new Scanner(cityPopulation); 
     fileReader.useDelimiter("[\t|\n]+"); 
     String[] cities = new String[400]; 
     int[] pop2010 = new int[400]; 
     int[] pop2013 = new int[400]; 
     double[] area = new double[400]; 
     int count = getData(fileReader, cities, pop2010, pop2013, area); 
     displayArrays(cities, pop2010, pop2013, area, count); 
     largestCity(pop2010, count); 
    } 

    public static int getData(Scanner inf, String[] c, int[] pop10, int[] pop13, double[] a) { 
     int count = 0; 
     inf.next(); 
     inf.next(); 
     inf.next(); 
     inf.next(); 
     while(inf.hasNext()) { 
      c[count] = inf.next(); 
      pop10[count] = inf.nextInt(); 
      pop13[count] = inf.nextInt(); 
      a[count] = inf.nextDouble(); 
      count++; 
     } 
     return count; 
    } 

    public static void displayArrays(String[] c, int[] pop10, int[] pop13, double[] a, int count) { 
     for(int i = 0; i < count; i++){ 
      System.out.printf("%s \t %d \t %d \t %f", c[i], pop10[i], pop13[i], a[i]); 
     } 
    } 

    public static int largestCity(int[] pop10, int count) { 
     int lCindex = 0; 
     for(int i = 1; i < count; i++) { 
      if(pop10[i] > pop10[lCindex]) 
       lCindex = i; 
     } 
     return lCindex; 
    } 

    // public static int findGrowth(int[] pop10, int[] pop13, int count, ) { 
    // 
    // } 

    public static int highestDensity(int[] pop10, double[] area, int count) { 
     int hDindex = 0; 
     for(int i = 1; i < count; i++) { 
      if ((pop10[i]/area[i]) > (pop10[hDindex]/area[hDindex])) 
       hDindex = i; 
     } 
     return hDindex; 
    } 
} 

例外:

Exception in thread "main" java.io.FileNotFoundException: cityPopulationData.txt (The system cannot find the file specified) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.util.Scanner.<init>(Unknown Source) 
    at parallelArrays.main(parallelArrays.java:7) 
+2

尝试使用绝对路径 – Nikolai97 2014-12-02 00:05:12

+4

或保存项目的文件夹 – enrique7mc 2014-12-02 00:05:59

+0

教师中的文件发送你左右。经典。 – csmckelvey 2014-12-02 00:08:27

回答

0

井例外是自我解释 “java.io.FileNotFoundException”
==>文件cityPopulation =新的文件( “cityPopulationData.txt”);

,因为使用的是Eclipse,试着给喜欢C文件的绝对路径:/data/filex.txt等,这会工作。之后,在项目树中创建一个资源文件夹,并将文件放在那里。使用ClassLoader.getresouceAsStream来加载文件。当你想要相对访问你的文件时使用下面的方法..你可以在线获得更多的信息regaarding这种方法。

希望这有助于