Java 程序反转字符串中的单词


2022年2月28日, Learn eTutorial
1577

这里我们解释如何编写 Java 程序来反转字符串中的单词。首先,我们需要从用户那里读取一个字符串并将其拆分成单词。然后,我们需要反转每个单词并显示反转后的字符串。

如何在 Java 中拆分字符串?

我们可以使用 String 类的 split() 方法在 Java 中拆分字符串。示例如下所示。

str="I am very happy"
String[] ws = str.split(" ");
 

现在数组 ws 包含字符串,

我非常开心

这里的 split(" ") 函数根据空格将字符串 str 拆分成几个字符串。这里我们传递的分隔符是空格。

如何实现 Java 程序来反转字符串中的所有单词?

首先,我们必须声明一个带有 public 修饰符的类 RString。然后打开 main() 并将用户想要反转的字符串读取到变量 str 中。然后调用函数 reverseWords(str) 来找出字符串的反转。

reverseWord() 函数中,我们首先将字符串拆分成不同的单词并将其保存在一个数组中。然后我们将从数组中取出每个单词并将其反转。之后,我们将反转的单词保存在字符串 rs 中。反转所有单词后,我们将显示给定的字符串和反转后的字符串。

算法

步骤 1:声明一个带有 public 修饰符的类 RString

步骤 2:打开 main() 以启动程序,Java 程序执行从 main() 开始

步骤 3:创建一个 Rstring 对象,命名为 obj。

步骤 4:从用户那里读取一个字符串到变量 str 中。

步骤 5:调用函数 reverseWord(str)

 

函数 public void reverseWord(String str)

步骤 1:将给定字符串 str 拆分成单词并将其保存到数组 ws[] 中。

步骤 2:声明一个字符串 rs 作为反转字符串。

步骤 3:使用 for 循环,条件为 i

步骤 4:声明字符串 r

步骤 5:将 word = ws[i]rWord = "" 赋值。rWord 用于保存单词的反转。

步骤 6:使用 for 循环,j = word.length() - 1,计算 rWord = rWord + word.charAt(j)。然后将 j 减一,并重复该步骤直到 j < 0

步骤 7:赋值 rs = rs + rWord + ""。这里 rs 表示反转字符串。

步骤 8:将 i 增一并重复步骤 3。

步骤 9:显示给定的字符串 str

步骤 10:显示反转字符串 rs

 

Java 源代码

                                          import java.util.Scanner;
public class RString {
    public void reverseWord(String str) {

        String[] ws = str.split(" "); //Split the given string into words
        String rs = "";
        for (int i = 0; i < ws.length; i++) {
            String r;
            String word = ws[i];
            String rWord = ""; //Reverse of each word
            for (int j = word.length() - 1; j >= 0; j--) {

                rWord = rWord + word.charAt(j);
            }
            rs = rs + rWord + " ";
        }
        System.out.println(str); //Display the given string
        System.out.println(rs); //display the reverse string
    }
    public static void main(String[] args) {
        RString obj = new RString();
        Scanner sc1 = new Scanner(System.in);

        System.out.println("Enter the String :");

        String str = sc1.nextLine();
        obj.reverseWord(str);

    }
}
                                      

输出

Enter the String :How are you?

How are you?
woH era ?uoy