2012-03-20 78 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(簡稱差異)輸出顯示你要麼有你輸出的最後一個換行,它不應該在那裏,或者可能是周圍的其他方式 - 你會必須閱讀「幫助閱讀差異輸出」鏈接。)

這有幫助嗎?