我希望while循环在条件“ index> = maxlength”下结束。
问题是它只说“请输入字符串”。用户输入一个字符串,单击“ Enter”,它将停留在下一行。while循环之后的所有内容都不会执行。
Please Enter a String: *ddddddddddd*
|
如果我没有条件“ index> = maxlength”,则代码可以正常工作。
public static int getaline( char message[], int maxlength ) {
int index = 0;
int character = 0;
maxlength = 5;
System.out.print("Please enter a string: ");
character = fgetc(System.in);
while (character != '\n' || index >=maxlength){
message[index] = (char) character;
index++;
character = fgetc(System.in);
}
if (index >= maxlength){
System.out.println("Overflow");
}
System.out.println("The amount of elements in the array is" + index);
return 0;
}
如果要在索引大于或等于maxlength时结束循环,则需要相反的条件:当索引不大于或等于maxlength时应循环执行。
while (character != '\n' && index < maxlength)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句