我正在开发一个程序,要求我用空格分隔用户输入的字符串,然后再按随机顺序打印出这些字符串。我被告知使用StdIn.readString()方法来获取用户的输入。
我很快意识到readString()方法只读取第一个令牌并停止。所以我假设我需要一个while循环继续阅读,直到用户完成键入所有字符串。我想创建一个while循环,其中StdIn.isEmpty()的破坏条件为true以打破循环但发现一旦用户启动键值,它总是返回" True"。因此,我陷入了等待用户键入更多字符串的无限循环。
StdIn的javadoc在这里:http://algs4.cs.princeton.edu/code/javadoc/edu/princeton/cs/algs4/StdIn.html#readString()
简化代码如下:
public static void main(String args[]) {
/*
* This is placeholder, I do not know how long the user input String is.
*/
String[] s = new String[10];
int index = 0;
while(StdIn.isEmpty()) {
s[index] = StdIn.readString();
index++;
}
}
// from here I would like to do other actions, but I cannot break the while loop
我知道在整数或双打中阅读时,人们倾向于设置一个标记值,但我不确定在字符串中设置读取的标记值。期待您的帮助,提前多多感谢!
答案 0 :(得分:0)
"为此,根据您的操作系统和IDE,使用Ctrl + d或Ctrl + z"来自http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdIn.html