2014-12-03 64 views
0

需要幫助... 我試着運行梯形法則的代碼。這是我在數值方法的項目,下面的代碼:在梯形規則上需要幫助Java代碼

static double trapezoidRule (int size, double[] x, double[] y) 
    { double sum = 0.0, 
      increment; 

     for (int k = 1; k < size; k++) 
     {//Trapezoid rule: 1/2 h * (f0 + f1) 
     increment = 0.5 * (x[k]-x[k-1]) * (y[k]+y[k-1]); 
     sum += increment; 
     } 
     return sum; 
    } 

    public static void main (String[] args) throws Exception 
    { String fileName = args.length > 0 ? args[0] : "InpData.txt"; 
     Scanner inp = new Scanner(new File(fileName)); 
     int  k, size; 
     double[] x, y; 
     double integral; 

     size = inp.nextInt(); 
     System.out.println ("Number of points: " + size); 

     x = new double[size]; 
     y = new double[size]; 

     for (k = 0; k < size; k++) 
     { x[k] = inp.nextDouble(); 
     y[k] = inp.nextDouble(); 
     } 
     integral = trapezoidRule (size, x, y); 
     System.out.printf ("Integral: %4.4f\n", integral); 
     System.out.printf ("Check: log(%2.2f) = %8.8f\n", 
         x[size-1], Math.log(x[size-1])); 
    } 
} 

它不能編譯,我總是得到FileNotFoundException異常。我在Javadocs上發現,當具有路徑名的文件不存在時,這將被拋出。請幫忙。謝謝!

+1

這不是編譯錯誤,在運行時拋出FileNotFoundException。 – 2014-12-03 09:53:18

回答

1

很可能InpData.txt不在您的工作目錄。最簡單的解決方案:嘗試將文件的完整路徑,而不僅僅是名稱。例如:"C:\\somefiles\\...\\InpData.txt"

0

文件InpData.txt在哪裏?

放置斷點並調試new File(fileName).getAbsolutePath()以查看它應該在哪裏。把你的文件放在那裏。

如果您希望代碼是可移植的(如果它正在另一臺計算機上執行),請不要對路徑進行硬編碼。

+0

在文本文件項目的根文件夾中。我嘗試將此添加到我的代碼中,但我的代碼中仍然出現[FileNotFoundException](http://javadocs.com/docs/javolution/javolution/5.5.1/_templates/java/io/FileNotFoundException.java)錯誤。 – georgemaravich 2014-12-04 07:02:13

+0

執行'System.out.println(new File(fileName).getAbsolutePath());'並確保文件存在。 – 2014-12-04 07:32:19

0

它是運行時錯誤 - 您的文件「InpData.txt」可能不在您的工作目錄中。嘗試將完整路徑或移動文件到您的工作目錄。

+0

「InpData.txt」位於項目的根文件夾中。我也嘗試把完整的路徑,但也不工作。我仍然得到[FileNotFoundException](http://stackoverflow.com/questions/27268350/need-help-on-trapezoidal-rule-java-code)錯誤,我不能編譯它... – georgemaravich 2014-12-04 07:05:20

+0

這裏是完整的文件路徑: C:\ Users \ GeorgeM \ Documents \ NetBeansProjects \ trapezoidRule \ nbproject \ textfilespath 此路徑錯誤嗎? 對於這個[FileNotFoundException](http://javadocs.com/docs/javolution/javolution/5.5.1/_templates/java/io/FileNotFoundException.java)瘋狂地跑了幾天 – georgemaravich 2014-12-06 07:32:47