gpt4 book ai didi

java - Java中的堆栈程序不使用内置类

转载 作者:行者123 更新时间:2023-12-01 18:59:31 24 4
gpt4 key购买 nike

我想在Java中创建一个堆栈,而不使用util包提供的内置类。我编写了这段代码,但每次运行它时它都会抛出 NullPointerException。我做了两个类。第一个包含方法和逻辑的堆栈,即压入和弹出以及检查堆栈空和满的方法;

private int MaxStack;
private int emptyStack;
public static int top;
private char[] items;

public SimpleStack(int i) {
// TODO Auto-generated constructor stub
}

public void Stack(int i)
{
MaxStack=i;
emptyStack=-1;
top=emptyStack;
items=new char[MaxStack];
}
public void Push( char c){

items[top]=c;
top++;}
public char Pop(char c){

return items[top--];}
public boolean full(){

return top+1==MaxStack;}
public boolean empty(){

return top== emptyStack;}}

第二个类包含运行代码的主要方法:

public static void main(String[] args) throws IOException
{
// TODO Auto-generated method stub
SimpleStack ab=new SimpleStack(10);
char ch;

while((ch= (char)System.in.read())!='\n')
{

if(!ab.full()){
ab.Push(ch);
}
}
while(!ab.empty())
{
System.out.println(ab.Pop(ch));
System.out.println();
}


}
}

最佳答案

问题是你的构造函数没有做任何事情。

看来您有另一个方法 public void Stack(int i) ,它应该是构造函数。

I want to make a stack in Java without using built in class provided by the util package.

即便如此,您也应该阅读内置 Stack 类的代码,因为您可以学到一些有用的东西,例如使用标准格式和编码约定。

关于java - Java中的堆栈程序不使用内置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com