2013-12-08 86 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();  
    } 
} 
相關問題