尝试使用java中的堆栈单独反转字符串。我已经编写了一个代码来反向输出整个String,但我需要将每个单词反转但保持相同的顺序。我该怎么做才能操纵我的代码才能使其工作?
import java.util.Scanner;
import jss2.ArrayStack;
public class ReverseString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = "";
ArrayStack<String> stack = new ArrayStack<String>();
System.out.println("Enter a string to be reversed: ");
str = scanner.nextLine();
if (str == null || str.equals("")) {
System.out.println("Try Again!");
System.exit(0);
}
for (int i = 0; i < str.length(); i++) {
// pushes all the characters in the string
// one by one into the Stack
stack.push(str.substring(i, i + 1));
}
String strrev = "";
while (!stack.isEmpty()) {
// pops all the elements from the Stack
// one by one which reverses the stack
strrev += stack.pop();
}
System.out.println("Reverse of the string : \"" + strrev + "\"");
}
}
答案 0 :(得分:0)
如果您需要将其分解为单词,请使用StringTokenizer。这会将字符串分解为单词。然后,您可以通过您编写的代码或PeterLawrey建议的方式反转单词中的字符,创建StringBuilder并调用“reverse()”方法。