我正在编写一个在while循环中的程序将随机数输入到队列中。当队列已满时,它会将其写入文本文件并再次填满队列。到目前为止它还不错,但我想要做的是当用户输入单词" stop"时停止while循环。在控制台中。我该如何解决这个问题?您可以理解,我知道我在下面使用的方法无效。
public static void main (String [] args) throws IOException{
DataBuffert theBuffert = new DataBuffert(10);
Random random = new Random();
DataOutputStream logFile = new DataOutputStream(new FileOutputStream("logfile.txt"));
while(!System.in.equals("stop")){
theBuffert.enqueue(random.nextInt(500));
if (theBuffert.isFull()){
while (!theBuffert.isEmpty()){
logFile.writeBytes(String.valueOf(theBuffert.dequeue()+"\n"));
try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
System.out.println("Operation interrupted");
}
}
}
}
}
答案 0 :(得分:1)
使用do while
进行此操作..
String check="";
Scanner scan=new Scanner(System.in);
do{
theBuffert.enqueue(random.nextInt(500));
if (theBuffert.isFull()){
while (!theBuffert.isEmpty()){
logFile.writeBytes(String.valueOf(theBuffert.dequeue()+"\n"));
try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
System.out.println("Operation interrupted");
}
}
}
check=scan.next();
}while(!check.equals("stop"));