Java 使用堆栈分别反转单词
在java中尝试使用堆栈逐个反转字符串。我已经编写了一个代码,以反向输出整个字符串,但我需要每个单词都反向,但保持相同的顺序。我能做些什么来操纵我的代码使其工作Java 使用堆栈分别反转单词,java,stack,Java,Stack,在java中尝试使用堆栈逐个反转字符串。我已经编写了一个代码,以反向输出整个字符串,但我需要每个单词都反向,但保持相同的顺序。我能做些什么来操纵我的代码使其工作 import java.util.Scanner; import jss2.ArrayStack; public class ReverseString { public static void main(String[] args) { Scanner scanner = new Scanner(Sys
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 + "\"");
}
}
import java.util.Scanner;
导入jss2.ArrayStack;
公共类反向限制{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
字符串str=“”;
ArrayStack堆栈=新的ArrayStack();
System.out.println(“输入要反转的字符串:”);
str=scanner.nextLine();
if(str==null | | str.equals(“”){
System.out.println(“再试一次!”);
系统出口(0);
}
对于(int i=0;i
如果您需要将其拆分为多个单词,请使用。这将把字符串分解成单词。然后,您可以通过编写的代码或按照PeterLawrey的建议,创建一个并调用“reverse()”方法来反转单词中的字符。或者这样:您正在推送单个字符,而不是单词。顺便说一句,StringBuilder.reverse()可以这样做,如果您只想这样做的话。。。