如果我有一个字符串和一个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长度并且它停止.
我怎么能纠正这个?
你是对的,你的问题是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)