2014-12-03 54 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