Java 程序打印字符串中的偶数长度单词

2024年9月10日 | 阅读 2 分钟

给定一个字符串str,编写一个Java程序,打印出给定字符串中所有偶数长度的单词。

示例 1

输入: t= She sells seashells by the seashore

输出

By

Seashore

示例 2

输入: t= To be or not to be, that is the question

输出

To

be

to

that

is

question

方法:使用split()方法

split()方法是一个内置的Java方法,用于根据指定的分隔符将字符串分割成子字符串数组。在Java编程中,split()方法是一种常用的用于操作和处理字符串数据的技术。它可以执行各种任务,例如搜索特定模式、删除不需要的字符以及从字符串中提取数据。

算法

  1. 使用输入字符串初始化字符串变量str。
  2. 要在Java中将字符串分割成单词数组,请使用带有指定分隔符的split()方法,并将生成的子字符串存储在数组中。它使得操作和分析字符串中的单个单词成为可能。
  3. 使用for-each循环遍历words数组中的每个单词。
  4. 在循环中,使用%运算符检查当前单词的长度是否为偶数。
  5. 如果长度为偶数,则使用System.out.println()方法打印该单词。

实施

文件名: EvenLengthWords.java

输出

by
seashore

复杂度分析

时间复杂度:使用split()方法将字符串分割成单词需要O(n)的时间,其中n是输入字符串的长度。遍历单词数组并检查每个单词是否具有偶数长度也需要O(n)的时间。打印每个偶数长度的单词需要O(1)的时间。

空间复杂度:该代码使用一个单词数组来存储输入字符串的单个单词。数组的大小与字符串中的单词数量成正比,最多可以为n/2,其中n是输入字符串的长度。因此,数组的空间复杂度为O(n)。程序中使用的其余变量和数据结构的空间复杂度是恒定的,可以忽略不计。