2012-03-20 37 views
0

我使用在线编辑器在Java中使用Java在Gild.com上提交我的Euler10代码。该代码完美适用于我的PC上的所有测试用例,但在Gild上编译失败。我遵循所有的编码规则,但我认为我仍然错过了一些东西。 这里是我的代码:

在Java中使用Gild进行代码编译失败

class Euler10 { 

public static void main(String[] args) throws java.lang.Exception 
{ 
    java.io.BufferedReader br = new java.io.BufferedReader (new java.io.FileReader(args[0])); 
    int number = Integer.parseInt(br.readLine()); 
    boolean[] isPrime = new boolean[number + 1]; 
    for (int i = 2; i <= number; i++) 
     isPrime[i] = true; 
    for (int i = 2; i*i <= number; i++) 
    { 
     if (isPrime[i]) 
     { 
      for (int j = i; i*j <= number; j++) 
       isPrime[i*j] = false; 
     } 
    } 
    long primesum = 0; 
    for (int i = 2; i < number; i++) 
    { 
     if (isPrime[i]) 
      primesum = primesum+i; 
    } 
    System.out.println(""+primesum+"\n"); 
} 

}


在调试模式下编译此代码后,我收到以下错误:



我的程序上面显示的输出是sam e作为测试用例输出,即使它给出了错误的结果。
也告诉我在这种情况下什么是差分输出。

(我要提交的代码只有在线编辑。)

Gild coding Puzzle FAQs &
Submission guidelines

感谢

+0

我没有看到*编译*失败的任何证据。当然,如果它没有编译,你不会有任何*输出,因为程序不会运行... – 2012-03-20 13:56:26

回答

0

看来问题在于你的输出与预期输出不相同。尝试更换您的最后一行System.out.println(""+primesum+"\n");(System.out.println(""+primesum);

+0

它的工作! 非常感谢。 – jayantS 2012-03-20 14:56:27

0

你的程序产生错误的结果,以及(1)你不告诉我们它应该做什么,也不(2)向我们展示你的程序。我们是心理学家吗?

无论如何,DIFF(简称差异)输出显示你要么有你输出的最后一个换行,它不应该在那里,或者可能是周围的其他方式 - 你会必须阅读“帮助阅读差异输出”链接。)

这有帮助吗?