0
我正在創建一個打印三個鈴聲的程序。 當用戶在鍵盤上鍵入一個鍵時,我需要停止該過程,我該怎麼辦? 此外,我會確保每一個鐘聲隨機顯示您的聲音,使用屬性Math.random()
。你可以將一個隨機時間關聯到一個線程?如何攔截Java應用程序中的按鍵?
package campane;
import java.io.*;
import java.util.*;
public class GestioneCampane extends Thread {
public static void main(String [] args) {
BufferedReader tast = new BufferedReader(new InputStreamReader(System.in));
char pressione;
Campane campana = new Campane("DIN", 300);
Campane campana2 = new Campane("DON", 1000);
Campane campana3 = new Campane("DAN", 2000);
campana.start();
campana2.start();
campana3.start();
}
}
這是第二類
package campane;
public class Campane extends Thread {
private String campane; // word to print
private int delay;
public Campane(String whatToSay, int delayTime) {
campane = whatToSay;
delay = delayTime;
}
public void run() {
try {
while(true) {
System.out.print(campane + " ");
Thread.sleep(delay);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
所以主要問題是如何聽按鍵?順便說一句,你的課GestioneCampane不需要延長線程 – JohnnyAW
是的,我想通過按控制檯上的任何鍵停止程序。 然後,我想在隨機產生的時間畫出線程,我以爲Math.random。 – user3344186
有沒有簡單的方法來監聽java控制檯中的按鍵,你可以像Sr. Richenso提到的那樣使用KeyBindings,但是你必須使用Swing。在控制檯上聽Key + Enter,如果它適合你,聽起來會容易得多 – JohnnyAW