循环用于获取字符串中的某些字符

way*_*yoo 2 java

如果我有一个字符串和一个int,我希望能够创建一个循环,它将打印字符串的第一个字符串,然后是每个字符串值的char.

例如,如果我有"Miracle"这个词和int 2,结果应该是"Mrce".我的代码执行此操作,但停止某些单词的char缩写.

  System.out.println(str.charAt(0));


  while (n <= str.length())
  {
    System.out.println(str.charAt(n));
    n = n+n;
  }
Run Code Online (Sandbox Code Playgroud)

这适用于像"abcdefg"和int 3这样的字符串.它打印"adg",但如果字符串是"miracle"和int 2,则打印"mrc"而不是"mrce".

我很确定问题出在"n = n + n"语句中.

因为如果int是3并且字符串大于3它将循环,但是在n = n + n语句中它将循环足够的n将大于str长度并且它停止.

我怎么能纠正这个?

Lrr*_*rrr 5

你是对的,你的问题是n=n+n因为它在每一步都有多个n和2,所以你必须改变它.

像这样更改你的代码:

int m = 0;
while (m < str.length())
{
   System.out.println(str.charAt(m));
   m = m+n;
}
Run Code Online (Sandbox Code Playgroud)