我遇到了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){
}
}
}
您的標題與您的問題無關。這是關於運行時錯誤,而不是效率。 – 2014-09-05 16:04:23
對不起,我應該更加小心 – 2014-09-05 17:15:01
@Mark Peters對不起,我應該更加小心。 – 2014-09-05 17:16:35