2011-10-22 132 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运行它。我怀疑这是提交系统的问题,但(通常会发现这样的事情较早),所以也许有一个地方可以让你的命令运行。