为什么这一小段代码在第6行和第10行(for循环)中给出了非法的类型错误启动....我无法找到任何无法匹配的大括号...
class StackDemo{
final int size = 10;
Stack s = new Stack(size);
//Push charecters into the stack
for(int i=0; i<size; i++){
s.push((char)'A'+i);
}
//pop the stack untill its empty
for(int i=0; i<size; i++){
System.out.println("Pooped element "+i+" is "+ s.pop());
}
}
我已经实现了Stack类,
答案 0 :(得分:5)
您无法在课程级别使用for
循环。将它们放在method
或block
java.util.Stack
中的Java
也没有这样的构造函数。
应该是
Stack s = new Stack()
另一个问题
s.push(char('A'+i))// you will get Unexpected Token error here
只需将其更改为
即可s.push('A'+i);
答案 1 :(得分:2)
你不能在类体内使用for循环,你需要将它们放在某种方法中。
class StackDemo{
final int size = 10;
Stack s = new Stack(size);
public void run(){
//Push charecters into the stack
for(int i=0; i<size; i++){
s.push(char('A'+i));
}
//pop the stack untill its empty
for(int i=0; i<size; i++){
System.out.println("Pooped element "+i+" is "+ s.pop());
}
}
}
答案 2 :(得分:1)
你不能只在一个类中编写代码,你需要一个方法:
class StackDemo{
static final int size = 10;
static Stack s = new Stack(size);
public static void main(String[] args) {
//Push charecters into the stack
for(int i=0; i<size; i++){
s.push(char('A'+i));
}
//pop the stack untill its empty
for(int i=0; i<size; i++){
System.out.println("Pooped element "+i+" is "+ s.pop());
}
}
}
方法main
是Java应用程序的入口点。 JVM将在程序启动时调用该方法。请注意,我已将代码字static
添加到您的变量中,因此可以直接在静态方法main
中使用它们。