gpt4 book ai didi

java - 使用堆栈反转单词

转载 作者:行者123 更新时间:2023-12-02 06:29:30 25 4
gpt4 key购买 nike

我不知道为什么这会给我一个错误。我在 pop 方法中,我想返回存储在顶部位置的值。尽管它说它们是不兼容的类型。我不明白为什么这应该是一个问题,因为我只想在该位置打印出字符。这是一个更大计划的一部分,只是为了让您知道并且将从不同的类(class)那里得到消息。

public class Stack
{
private int maxSize;
private String[] stackArray;
private int top;
/**
* Constructor for objects of class Stack
*/
public Stack(int a)
{
maxSize = a;
stackArray = new String [maxSize];
top = -1;
}

public void push(String j)
{
top++;
stackArray[top] = j;
}

public char pop()
{
return stackArray[top--];//Error is here
}

}

最佳答案

stackArray 是一个 string 数组,方法的返回类型是 char

<小时/>

Reversing word with Stack

如果您想使用 Stack 对象反转单词,请考虑使用 char 数组而不是 String 数组

class Stack
{
private int maxSize;
private char[] stackArray;
private int top;
/**
* Constructor for objects of class Stack
*/
public Stack(int a)
{
maxSize = a;
stackArray = new char [maxSize];
top = -1;
}

public void push(char j)
{
top++;
stackArray[top] = j;
}

public char pop()
{
return stackArray[top--];
}

public int getSize(){
return maxSize;
}
}

以及以下测试用例:

        String s = "test";
Stack st = new Stack(s.length());

for(char c : s.toCharArray())
st.push(c);

for(int i = 0; i <st.getSize();i++)
System.out.print(st.pop());

输出:

tset

关于java - 使用堆栈反转单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20200607/

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