Java 为什么打印(";\0007";)不会发出哔哔声?

Java 为什么打印(";\0007";)不会发出哔哔声?,java,beep,Java,Beep,我已经在EclipseJavaSE1.7上尝试了这段代码,它应该发出一声蜂鸣,但它没有。为什么呢 public class Main { public static void main(String args[]) { // ASCII bell System.out.print("\0007"); System.out.print("\007"); System.out.flush(); } } 有许多可能性: 您没有打印到终端 有人从终端上取下了传呼

我已经在EclipseJavaSE1.7上尝试了这段代码,它应该发出一声蜂鸣,但它没有。为什么呢

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

有许多可能性:

  • 您没有打印到终端
  • 有人从终端上取下了传呼机
  • 您的终端模拟不支持蜂鸣音
  • 。。。或者它被某些选项关闭
  • 您的扬声器已静音

  • 顺便说一句,您实际上是在打印一个后跟“7”的NUL。

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

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

    尝试在JDK中使用beep方法

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

    应该是
    System.out.print(“\007”)我也试过,但仍然不起作用:/See也..你的终端会发出哔哔声吗?大多数情况下,“铃声”功能在默认情况下处于关闭状态。在您的终端中尝试
    set bell style audible
    (假设它不是Windows)。@sadaf2605您可以执行
    \u0007
    (char)7