如果我有一个字符串和一个int,我希望能够创建一个循环,该循环将打印字符串的第一个字符,然后打印该int值的每个字符。
例如,如果我有单词“ Miracle”和int 2,则结果应为“ Mrce”。我的代码可以执行此操作,但是可以使某些单词停止使用char的缩写。
System.out.println(str.charAt(0));
while (n <= str.length())
{
System.out.println(str.charAt(n));
n = n+n;
}
这适用于“ abcdefg”和int 3之类的字符串。它显示“ adg”,但是如果该字符串是“ miracle”和int 2,则显示“ mrc”而不是“ mrce”。
我很确定问题出在“ n = n + n”语句中。
因为如果int为3并且字符串大于3,它将循环,但是在n = n + n语句中,它将循环足够的长度,以使n大于str长度并停止。
我该如何纠正?
没错,您的问题在于,n=n+n
因为每个步骤中n乘以2,所以您必须更改它。
像这样更改您的代码:
int m = 0;
while (m < str.length())
{
System.out.println(str.charAt(m));
m = m+n;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句