2011-10-22 164 views
0

我在NetBeans中編寫了以下類併成功運行它。但是當我將它上傳到我參加IEEE Extreme競賽的IEEE moshack服務器時。沒有類錯誤發現錯誤

它說我的程序給出了運行時錯誤。你能告訴我爲什麼?

import java.util.Scanner; 


public class BloomFilter { 

    public static void main(String[] args) { 


     Scanner sc = new Scanner(System.in); 

     int[] a = new int[26]; 
     for (int b : a) { 
      b = 0; 
     } 


     String s = sc.nextLine(); 
     String s1 = sc.nextLine(); 


     for (int i = 0; i < s.length(); i++) { 
      if (s.charAt(i) >= 65 && s.charAt(i) <= 90) { 

       int p = s.charAt(i) - 65; 

       a[p] = 1; 

      } 

      if ((s.charAt(i) >= 97 && s.charAt(i) <= 122)) { 

       int p = s.charAt(i) - 97; 

       a[p] = 1; 
      } 
     } 

     String[] tokens = s1.split("[^a-zA-Z]"); 
     int totWords = 0; 

     for (String s2 : tokens) { 
      s2.toLowerCase(); 
      totWords++; 
      for (int j = 0; j < s2.length(); j++) { 
       if (a[s2.charAt(j) - 97] == 0) { 
        totWords--; 
        break; 
       } 
      } 

     } 

     System.out.print(totWords); 


    } 
} 
+1

你能拼出單詞「u」嗎?也許發佈堆棧跟蹤,以便我們知道無法找到什麼類。當然,這是一個CLASSPATH問題。 NetBeans讓你對CLASSPATH的工作方式一無所知,這是一種恥辱。 – duffymo

+0

'線程中的異常「main」java.lang.NoClassDefFoundError:BloomFilter/class 由java.net.URLClassLoader導致的:java.lang.ClassNotFoundException:BloomFilter.class $ 1.run(URLClassLoader.java:202) at java .security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 找不到主要類:BloomFilter.class ' –

+0

請修改您的問題以包含該問題。 –

回答

2

DomJudge的舊版本例如要求Java類名爲Main;在這方面,更新的版本更好,但是也可能存在類似的限制,因爲您上傳了它。

檢查類名Java期望的錯誤消息,並嘗試重命名您的類(和文件,當然)。

編輯:顯然你試圖用java BloomFilter.class而不是java BloomFilter運行它。我懷疑這是提交系統的問題,但(通常會發現這樣的事情較早),所以也許有一個地方可以讓你的命令運行。