java - 将每第 N 个字符添加到字符串中

标签 java string find character

任务是获取每第 n 个字符并将其放入字符串中。 我这个问题已经解决一半了。

如果 Miracle 是输入的字符串并且 int = 2,我将得到以下输出:“Mrc”,而它应该是“Mrce”。

为什么最后一个字符漏掉了?逻辑部分对我来说似乎是合理的。

public String everyNth(String str, int n) {
  String firstletter = str.substring(0,1); // We store the first letter as well.
  String secondhalf = "";
  while(str.length() > n) { // Run as long as n reaches the end of the string.
    secondhalf += str.substring(n, n+1); // Add Nth character to string.
    n+=n;
  }
  return firstletter+secondhalf;
}

编辑:添加了一个单独的计数器,int counter = n;所以它的值(value)不会一直翻倍。

最佳答案

您的问题在这里:

n+=n;

第一次是 2,然后是 4,然后是 8...

只需使用单独的计数器即可。

关于java - 将每第 N 个字符添加到字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346012/

相关文章:

linux - Bash脚本不删除给定目录中的文件

c++ - 使用 char* 变量查找不起作用

java - Spark Streaming 单键并行

java - 在java中屏蔽密码字段

java - 如何在 YAML 文件中为简单的 POJO 定义映射?

php - 在非字母数字字符以及数字和非数字之间的位置上拆分字符串

android - 如何使用 JSON 对象在 Android 中显示来自 MySQL 数据库的图像

c++ - 返回字符串的所有子字符串的递归函数

java - 静态变量的内存范围

Linux:使用 grep 在文件中查找单词,然后打印文件中是否包含该单词