繁体   English   中英

将每个第N个字符添加到字符串

[英]add every Nth character to string

任务是获取第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; 因此它不会一直使价值翻倍。

您的问题在这里:

n+=n;

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

只需使用单独的计数器。

我会在for中使用charAt函数来做到这一点:

public String everyNth(String str, int n) {
  String result="";
  for(i=0; i<str.length(); i=i+n){
    result+=str.charAt(i);
  }
  return result;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM