为啥 print("\0007") 不响?
Posted
技术标签:
【中文标题】为啥 print("\\0007") 不响?【英文标题】:why print("\0007") does not beep?为什么 print("\0007") 不响? 【发布时间】:2013-12-08 10:52:33 【问题描述】:我已经在 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
【问题讨论】:
应该是System.out.print("\007");
我也试过了,还是不行:/
另见Toolkit.beep()
..
您的终端是否会发出哔哔声?大多数情况下,“铃铛”功能默认是关闭的。在您的终端中尝试set bell-style audible
(假设它不是 Windows)。
【参考方案1】:
有很多可能性:
-
您没有打印到终端。
有人从终端上取下了蜂鸣器。
您的终端仿真不支持哔声
...或者它被某个选项关闭了
您的扬声器已静音。
....
顺便说一句,您实际上是在打印一个 NUL 后跟 '7'。
【讨论】:
@sadaf2605 你可以做到\u0007
或(char) 7
【参考方案2】:
并非每种字体都包含编码中的每个字符(例如,您是否在 IDE 控制台中运行它 - 这可能也是用 Java 编写的)?无论如何,这不是跨平台的。如果您不在 ASCII 机器上怎么办?
public static void main(String args[])
Toolkit.getDefaultToolkit().beep();
【讨论】:
【参考方案3】:在 JDK 中尝试使用 beep 方法
import java.awt.*;
public class Beep
public static void main(String args[])
Toolkit.getDefaultToolkit().beep();
【讨论】:
以上是关于为啥 print("\0007") 不响?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 `python -c 'print('howdy')'` 会产生错误(在 zsh 中),但 `python -c 'print("howdy")'` 不会?
在下面的代码中,当点击按钮时,为啥不能调用[print("BBB's build function.")]?
pyhton中s="hello",print(s[1:3])为啥输出结果为el?
关于java的println和print的区别,这个语句里面 如果加了ln跟没加相比不是换行那么简单,为啥?
Ajax GET 结果由“ERR_INCOMPLETE_CHUNKED_ENCODING”和“XMLHttpRequest: Network Error 0x800c0007”突然出现