java - 在不使用数组和特殊方法的情况下,如何制作 nthWord 方法?

标签 java

在不使用数组和特殊方法(例如 split 方法)的情况下,如何编写以下方法:输入 int 表示一个数字 n ,该数字被假定为正数,输出字符串包含输入字符串的每第 n 个单词,从第一个单词开始,用一个空格分隔。

这是我到目前为止所拥有的:

public static String nthWord(int n, String s1) {

    StringBuilder sb = new StringBuilder();
    for(int x = 0; x < s1.length(); x = x + n) {
      sb.append(s1.charAt(x));
    }
    return sb.toString();
}

例如,输入:

HW2.nthWord(3, "zero one two three four five six seven")

应该输出:

"zero three six"

但是我当前的方法输出:

"zon t heo vs v"

最佳答案

您需要检查字符串的每个字符以查找空格,以便识别单词。所以你所拥有的是一个开始,但你需要:

  1. 仅将 x 加 1。
  2. 对于每个字符,检查它是否是空格并记录您所在的单词。
  3. 当您点击空格时,增加您的单词计数器(如果它是 n 的倍数,则将其重置为 0)
  4. 当字数计数器为 0 时,将字符添加到字符串中。

关于java - 在不使用数组和特殊方法的情况下,如何制作 nthWord 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055227/

相关文章:

Java 线程完成事件

java - 为什么 javadoc 是邪恶的,什么是更好的选择?

java - 如何在 context.xml 中存储字符串值

java - JUnit 不检测 ArithmeticException

java - 了解 Android 应用程序中的内存泄漏

java - 如何让 JLabels 从下一行开始

java - 大西塔计算

java - RecyclerView 显示相同的项目

java - 我类(class)的私有(private)属性(property)为空

java - 按钮 GridView 的滑动触摸界面