Java程序:交换句子中每个单词的首尾字母


问题陈述

给定一个句子,创建一个高效的Java程序,交换每个单词的首尾字母,如下所示:

输入

That is a sample

输出

The string after swapping the last characters of every word is :
thaT si a eampls

交换句子中单词首尾字母的步骤

以下是交换句子中单词首尾字母的步骤:

  • 字符串转换为字符数组。
  • 使用while循环迭代字符数组,以识别每个单词的开始和结束。
  • 对于每个单词,交换首尾字母。
  • 将修改后的字符数组转换回字符串并返回。

Java程序:交换句子中每个单词的首尾字母

public class Demo {
 static String swap_chars(String my_str) {
char[] my_ch = my_str.toCharArray();
for (int i = 0; i < my_ch.length; i++) {
 int k = i;
 while (i < my_ch.length && my_ch[i] != ' ')
i++;
char temp = my_ch[k];
my_ch[k] = my_ch[i - 1];
my_ch[i - 1] = temp;
}
return new String(my_ch);
 }
 public static void main(String[] args) {
String my_str = "That is a sample";
System.out.println("The string after swapping the last characters of every word is : ");
System.out.println(swap_chars(my_str));
 }
}

输出

The string after swapping the last characters of every word is :
thaT si a eampls

代码解释

Demo类包含一个名为swap_chars()的方法,该方法返回一个字符串。在此方法中,输入字符串my_str使用toCharArray()方法转换为字符数组my_ch。一个for循环使用其长度my_ch.length迭代字符数组my_ch。在循环中,整数k存储当前索引。然后,while循环只要i小于my_ch.length且my_ch[i]不是空格就继续迭代。对于每个单词,如果下一个字符不是空格,则交换首尾字母。

处理完所有单词后,将修改后的字符数组转换回字符串并返回。在主方法中,定义字符串my_str,并使用此字符串作为参数调用swap_chars()方法。然后将结果打印到控制台。

更新于:2024年7月31日

2K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告