我是编程新手,我正在参加初级编程课程。我试过寻找我的答案,我发现可能有效的结果,但我不明白如何在使用堆栈时实现它们。我试图在不颠倒整个字符串的情况下反转字符串的单个单词。如何在使用堆栈时反转字符串中的单个单词?
例如:用户输入句子“馅饼很棒!”我需要输出为“seiP era!taerg”
到目前为止,我已经设法编写了一个程序,该程序将整个字符串反转,因此使用上述示例的输出为:“!taerg era seiP “正如你所看到的,我想在不颠倒单词顺序的情况下自己翻转单词,但是我必须使用堆栈进行输入。
以下是我迄今为止:
public class ReversedString{
private static ArrayStack<String> stack;
public static void main(String[] args) {
stack = new ArrayStack<String>();
String string = "";
String stringReversed = "";
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the string that you want to reverse: ");
string = scanner.nextLine();
string.split(" ");
for(int i=0; i<string.length(); i++){
stack.push(string.substring(i, i+1));
}
while(!stack.isEmpty()){
stringReversed += stack.pop();
}
System.out.println("The reverse of the string is: " + stringReversed);
如果你能够扭转字符串什么是问题的话? – xyz
我不明白如何利用堆栈推入字符串并弹出单个反向字词。 – user2041920
而不是完整的字符串推个别单词,并做相同的处理,直到整个字符串处理。 – xyz