2013-12-08 46 views
3

我在eclipse javaSE1.7上试过这段代码,它应该会发出嘟嘟声,但它没有。这是为什么?为什么print(“ 0007”)不发出哔声?

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

source

+1

应该是System.out.print'尝试( “\ 007”);' –

+0

我也试过了,但它仍然不工作:/ – sadaf2605

+0

另请参见['Toolkit.beep()'](http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#beep%28%29).. –

回答

5

有很多可能性:

  1. 不打印到终端。
  2. 有人从终端删除了蜂鸣器。
  3. 终端仿真不支持蜂鸣声
  4. ...或者它是由一些选项
  5. 您的扬声器静音关闭。
  6. ....

顺便说一句,你实际上是打印NUL其次是 '7'。

+10

** 7。**你是聋人 – Maroun

+0

haha​​haaaaaaaaaa ..... no 1帮助:D它从终端工作:D – sadaf2605

+2

@ sadaf2605您可以完成'\ u0007'或'(char)7' –

1

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

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

使用蜂鸣方法在JDK

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