2014-09-05 56 views
0

我遇到了USACO培訓頁面上的第一個問題。如何使代碼工作 - USACO培訓第一項任務

該任務是從text.in文件中請求兩個字符串,將字符串轉換爲數字,這是字母的乘積(其中a = 1,b = 2,z = 26),然後查看是否數字/ 47的餘數相等(如果是,則打印「GO」,否則打印「STAY」)。

它在我的電腦上的偉大工程,但是當我把它時,它顯示:

> Run 1: Execution error: Your program exited with exit status `1'. 

    ------ Data for Run 1 [length=14 bytes] ------ 
    COMETQ 
    HVNGAT 
    ---------------------------- 

     Your program printed data to stderr. Here is the data: 
     ------------------- 
     Exception_in_thread_"main"_java.lang.NoClassDefFoundError:_ride 
     Caused_by:_java.lang.ClassNotFoundException:_ride 
     at_java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
     at_java.security.AccessController.doPrivileged(Native_Method) 
     at_java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at_java.lang.ClassLoader.loadClass(ClassLoader.java:303) 
     at_sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
     at_java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
     at_java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316) 
     Could_not_find_the_main_class:_ride.__Program_will_exit. 
     ------------------- 

現在,這是我的代碼:

/* 
    ID:swagato1 
    LANG:JAVA 
    PROG:ride 
*/ 
import java.io.*; 
class Ride{ 
    public void calculate() throws IOException{ 
     BufferedReader in=new BufferedReader(new FileReader("ride.in")); 
     PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("ride.out"))); 
     String c=in.readLine(); 
     String g=in.readLine(); 
    int a=1,b=1; 
    for(int i=0;i<c.length();i++) 
     a*=((int)c.charAt(i))-64; 
    for(int i=0;i<g.length();i++) 
     b*=((int)g.charAt(i))-64; 
    if ((a%47)==(b%47)) 
     out.println("GO"); 
    else 
     out.println("STAY"); 
    out.close(); 
    System.exit(0); 
} 
public static void main(String args[]){ 
    try{new Ride().calculate();} 
    catch(Exception e){ 
    } 
}   
} 
+2

您的標題與您的問題無關。這是關於運行時錯誤,而不是效率。 – 2014-09-05 16:04:23

+0

對不起,我應該更加小心 – 2014-09-05 17:15:01

+0

@Mark Peters對不起,我應該更加小心。 – 2014-09-05 17:16:35

回答

1

使類public

public class Ride{ 

    ... 

} 
0

類名必須與任務名完全相同。在這種情況下,它應該是ride而不是Ride。上課public沒有幫助。