大家帮帮我吧...错在哪里啊?
编译的时候没有问题,运行的时候就不行了,从没见过的:
原来程序如下,是中缀转后缀的程序,还没有写注释呢,大家帮帮我吧:
import java.util.*;
import javax.swing.*;
class TestCTPostFix
{
public static void main(String[] args)
{
String abc = JOptionPane.showInputDialog("Please input the prefix notation:");
ArrayList bbb = CTPostFix(abc);
System.out.println(bbb);
}
public static ArrayList CTPostFix(String InputString)
{
Object y;
StringTokenizer StreamInput = new StringTokenizer(InputString);
Stack Operator = new Stack();
ArrayList CalculatedList = new ArrayList();
while(StreamInput.hasMoreTokens())
{
Object current = StreamInput.nextElement();
if (current instanceof Double)
{
CalculatedList.add(current);
}
if (current instanceof String)
{
String currentOperator = (String)current;
if (currentOperator ==")")
for (y = Operator.pop();(String)y!="(" ;y = Operator.pop() )
{
CalculatedList.add(y);
}
else
{
for (y = Operator.pop();isp(currentOperator)>icp(currentOperator) ;y = Operator.pop() )
{
CalculatedList.add(y);
}
Operator.push(y);
Operator.push(currentOperator);
}
}
}
while(!Operator.empty())
{
y = Operator.pop();
CalculatedList.add(y);
}
return CalculatedList;
}
public static int isp(String current)
{
if (current == "+") return 2;
else if (current == "*") return 4;
else if (current == "^") return 5;
else if (current == "(") return 0;
else if (current == ")") return 6;
else return -1;
}
public static int icp(String current)
{
if (current == "+") return 1;
else if (current == "*") return 3;
else if (current == "^") return 6;
else if (current == "(") return 7;
else if (current == ")") return 0;
else return -1;
}
System.exit(1);
};
出错消息:
Exception in thread "main" java.lang.NoClassDefFoundError: TestCTpostFix (wrong
name: TestCTPostFix)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)