Java 为什么在代码未放入主块时抛出错误
我正在实现一个堆栈 这是我的代码 包装数据结构Java 为什么在代码未放入主块时抛出错误,java,Java,我正在实现一个堆栈 这是我的代码 包装数据结构 public class Stack { private int top; private int max; private int[] data; Stack(int s) { max=s; data=new int[s]; top=-1; } public void push(int a) { data[++top]=a; } public int
public class Stack
{
private int top;
private int max;
private int[] data;
Stack(int s)
{
max=s;
data=new int[s];
top=-1;
}
public void push(int a)
{
data[++top]=a;
}
public int pop()
{
return data[top--];
}
public int peek()
{
return data[top];
}
public boolean isEmpty()
{
if (top==-1)
return true;
else
return false;
}
}
我在另一节课上用它
package data_structure;
class StackImplementation
{
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
if(value==true)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
堆栈实现正在抛出编译错误,如if(value==true)处类型的非法开始
标识符应为(value==true),如果将整个代码放在main方法下,则会删除更多错误 此错误的原因很简单,因为您没有将代码包装到方法中
if(value==true)
此时,编译器不希望出现if语句
class StackImplementation {
public void foo () {
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
if(value)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
请注意,您还可以跳过条件中的
==true
部分,因为您已经有了布尔值
此错误的原因很简单,因为您没有用方法包装代码
if(value==true)
此时,编译器不希望出现if语句
class StackImplementation {
public void foo () {
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
if(value)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
请注意,您还可以跳过条件中的
==true
部分,因为您已经有了布尔值
此错误的原因很简单,因为您没有用方法包装代码
if(value==true)
此时,编译器不希望出现if语句
class StackImplementation {
public void foo () {
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
if(value)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
请注意,您还可以跳过条件中的
==true
部分,因为您已经有了布尔值
此错误的原因很简单,因为您没有用方法包装代码
if(value==true)
此时,编译器不希望出现if语句
class StackImplementation {
public void foo () {
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
if(value)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
请注意,您还可以跳过条件中的
==true
部分,因为您已经有了布尔值if
语句和abc.push(22);abc.push(23)代码>必须在方法中。如果您不想创建该方法,请使用如下块
class StackImplementation
{
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
{
if(value==true)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
你的if
语句和abc.push(22);abc.push(23)代码>必须在方法中。如果您不想创建该方法,请使用如下块
class StackImplementation
{
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
{
if(value==true)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
你的if
语句和abc.push(22);abc.push(23)代码>必须在方法中。如果您不想创建该方法,请使用如下块
class StackImplementation
{
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
{
if(value==true)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
你的if
语句和abc.push(22);abc.push(23)代码>必须在方法中。如果您不想创建该方法,请使用如下块
class StackImplementation
{
Stack abc =new Stack(5);
boolean value = abc.isEmpty();
{
if(value==true)
{
System.out.println("Yes it's empty");
}
abc.push(22);
abc.push(23);
}
}
您的类缺少执行此代码的方法。您可以在类内声明甚至分配字段,但是如果您想执行代码,您必须在构造函数内或(最好)在方法/getter/settery内执行。您的类缺少执行此代码的方法。您可以在类内声明甚至分配字段,但是如果您想执行代码,您必须在构造函数内或(最好)在方法/getter/settery内执行。您的类缺少执行此代码的方法。您可以在类内声明甚至分配字段,但是如果您想执行代码,您必须在构造函数内或(最好)在方法/getter/settery内执行。您的类缺少执行此代码的方法。您可以在类中声明甚至分配字段,但是如果您想要执行代码,您必须在构造函数中或者(最好)在方法/getter/setter中执行