保持循环,直到输入在 Java 中可用
Keep Looping until inputs are available in java
如果我还不知道输入大小,那么在 JAVA 中继续循环迭代直到它可用的方法是什么?在C++可以按如下方式完成。
int main(){
int val;
while(cin >> val){
//do stuff
}
}
在java中做类似事情(如上所述)的方法是什么
提前谢谢。Shantanu
您应该尝试以下操作。
long val;
Scanner sc = new Scanner(System.in).useDelimiter("n");
while (sc.hasNext()) {
String temp = sc.next().trim();
val = Long.parseLong(temp);
// do stuff
}
一种方法是使用扫描仪。
long val;
Scanner sc=new Scanner(System.in);
while (sc.hasNextLong() ) {
val = sc.nextLong();
// do stuff
}
这等效于您提供的 cpp 代码。但不完全是你所要求的。只要读取字符串中有合法输入,它就会循环。
根据您的特定要求,请使用 Scanner 类中的方法。这个读了一整行。这意味着用户必须在大多数系统中按回车键。
public static void main(String[] args)
{
String str=new Scanner(System.in).nextLine();
}
不要实现繁忙循环。您可能更喜欢使用流。流的方法read()
在数据到达之前被阻止,因此您的代码将很简单,没有繁忙的循环,并且完全按照您想要的方式工作:
while ( in.read() != -1) {
// do your stuff
}
甚至更好地使用缓冲区:
byte[] buf = new buf[MAX_SIZE]
while ( in.read(buf) != -1) {
// do your stuff
}
我相信实现您的目的的最佳方法是通过多线程,其中一个线程将等待用户的输入,并在收到输入时让另一个线程知道。与此同时,另一个线程将继续遍历循环。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 从 Java 运行C++ .exe程序没有输出,也没有接收输入
- java 输入流,字节大,然后是 127
- 如何通过代码(例如Java)将键按输入发送到浏览器中
- 从用户控制台获取输入 - Java 代码
- Java ProcessBuilder EXE文件未正确获取输入流
- 保持循环,直到输入在 Java 中可用
- 用于输入验证的C++到Java的等效代码
- 创建一个控制台应用程序,打开TCP/IP连接并用C++、C#或Java打印输入的字符串
- 将c++程序输出作为Java输入