1

我对这种方法有疑问:

public void runTransaction(){
   //Some calculations...
   wait();
   //Other calculations...
}

private static void wait(){
   try {
        System.out.println("Press <enter> to continue");
        System.in.read();
    } 
    catch (java.io.IOException ex) {
        System.out.println("Input error...");
    }
}

但按 Enter 后程序不会继续。我正在使用 Ubuntu 12.04。

编辑:程序确实会打印消息“按继续”,但之后不会继续,它只是等待输入。

4

3 回答 3

0

如果您将名称更改为 wait_enter,您的代码应该会按预期运行,您只需要确保在按 enter 之前已单击控制台,以便它注册输入。

于 2014-06-09T17:57:48.407 回答
0

你的代码甚至可以编译吗?该wait方法在 Object 类上是公共的,因此不能将其重写为私有。尝试使用不同的方法名称,例如waitForInput.

于 2013-11-23T15:36:44.013 回答
0

这甚至不应该编译:

  1. in.read()可以抛出一个IOException,你需要处理。(编辑:看起来你在你的片段中解决了这个问题。)

  2. 你不能命名这个方法wait(),因为它隐藏了Object's wait()

更正这些错误后,代码应按预期工作。

于 2013-11-23T15:37:46.703 回答