为什么打印(“\ 0007”)没有发出哔声?

时间:2013-12-08 10:52:34

标签: java beep

我在eclipse javaSE1.7上试过这个代码,它应该发出一声嘟嘟声,但事实并非如此。那是为什么?

public class Main {
  public static void main(String args[]) {
    // ASCII bell
    System.out.print("\0007");
    System.out.print("\007");
    System.out.flush();
  }
}

source

3 个答案:

答案 0 :(得分:5)

有很多可能性:

  1. 您没有打印到终端。
  2. 有人从终端上移除了蜂鸣器。
  3. 您的终端仿真不支持哔声
  4. ...或者通过某些选项关闭
  5. 你的扬声器静音。
  6. ....
  7. 顺便说一句,你实际上是在打印一个NUL,然后是'7'。

答案 1 :(得分:2)

并非每种字体都包含编码中的每个字符(例如,您是否在IDE控制台中运行它 - 可能也是用Java编写的)?无论如何,那不是跨平台。如果你不在ASCII机器上怎么办?

public static void main(String args[]) {
  Toolkit.getDefaultToolkit().beep();
}

答案 2 :(得分:0)

尝试在JDK中使用beep方法

import java.awt.*;
public class Beep {
  public static void main(String args[]) {
     Toolkit.getDefaultToolkit().beep();     
  }
}