我试图在终端运行它,它编译,创建.class文件,但不会运行。该代码按照Netbeans(在Windows中)按计划运行并执行,但不会在终端中为我的VirtualBox运行。我得到的错误是它无法找到主类。我的代码编译,但不会在终端运行
java -cp . stackdemo.ArrayStackDemo
如果要编译,然后创建一个jar文件,首先确保的jar文件中有一个明显的运行java -jar <yourjar>
前:
package stackdemo;
public class ArrayStackDemo {
//Demo
public static void main(String args[]) {
StackInt demoStack = new StackInt();
for (int i = 0; i < demoStack.size(); i++) {
demoStack.push(i);
System.out.println(demoStack.pop());
}
}
}
package stackdemo;
import java.util.Arrays;
import java.util.EmptyStackException;
public class StackInt {
//Instance variables
private int[] numberStack;
int topOfStack = -1; //Empty stack
private int capacity;
private final int INITIAL_CAPACITY = 10;
//Default constructer
public StackInt() {
capacity = INITIAL_CAPACITY;
numberStack = new int[capacity];
}
//Size method
public int size() {
return capacity;
}
//Empty method
public boolean empty() {
if (topOfStack == -1) {
return true;
}
return false;
}
//Push method
public int push(int obj) {
if (topOfStack == numberStack.length - 1) {
reallocate();
}
topOfStack++;
numberStack[topOfStack] = obj;
return obj;
}
//Reallocate method
public void reallocate() {
capacity = 2 * capacity;
numberStack = Arrays.copyOf(numberStack, capacity);
}
//Pop method
public int pop() {
if (empty()) {
throw new EmptyStackException();
}
return numberStack[topOfStack--];
}
//Peek method
public int peek() {
if (empty()) {
throw new EmptyStackException();
}
return numberStack[topOfStack];
}
}
也许愚蠢,但你想运行ArrayStackDemo或StackInt吗? –
你是如何启动应用程序?给我们你正在执行的命令,告诉我们你在哪个目录中,以及类文件在哪里。 –
删除软件包stackdemo;在这两个编码。 – Sathesh