【发布时间】:2014-10-17 03:06:56
【问题描述】:
我希望 while 循环在条件“索引 >=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;
}
【问题讨论】:
-
fgetc是做什么的? -
@SotiriosDelimanolis “文件获取字符”...我假设,它重定向到标准输入 ...
-
@MadProgrammer 那是花哨的 c 函数吗?
-
@SotiriosDelimanolis 当然让我想起了一个......
标签: java loops while-loop