我正在尝试编写一个运行三个函数之一的程序,具体取决于用户按下哪个按钮。第三个函数应该在无限循环中运行,直到用户以某种方式中断它。但是,我正在努力编写这个代码。我试着编写一段时间(System.in.available()== 0)循环,但是当我在程序的那部分处于活动状态时按Enter键时,它什么都不做。以下是我认为相关的代码部分:
public static void main(String[] args) {
new WaspmoteSim();
}
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("Demonstration Mode")) {
DemoMethod();
}
if (command.equals("Distribution Fitting Mode")) {
FittingMethod();
}
if (command.equals("Operational Mode")) {
OperationsMethod();
}
}
public void OperationsMethod() throws IOException, InterruptedException {
Process proc;
while(System.in.available() == 0) {
String workingDir = System.getProperty("user.dir");
System.out.println(workingDir);
proc = Runtime.getRuntime().exec("cmd.exe /C C:\\Progra~1\\R\\R-3.2.1.\\bin\\Rscript.exe " + workingDir + "\\Fitter.r");
TimeUnit.SECONDS.sleep(8);
}
}
和WaspmoteSim函数的声明是:
public class WaspmoteSim extends JFrame implements ActionListener {
你们有什么想法吗?