在不使用数组和特殊方法(例如 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"
最佳答案
您需要检查字符串的每个字符以查找空格,以便识别单词。所以你所拥有的是一个开始,但你需要:
- 仅将 x 加 1。
- 对于每个字符,检查它是否是空格并记录您所在的单词。
- 当您点击空格时,增加您的单词计数器(如果它是 n 的倍数,则将其重置为 0)
- 当字数计数器为 0 时,将字符添加到字符串中。
关于java - 在不使用数组和特殊方法的情况下,如何制作 nthWord 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055227/