如何在Java TUI中通过System.out.println显示白色/实心圆圈?
解决方案与思路
1. 直接使用Unicode字符
绝大多数现代终端都支持Unicode,你可以用这些字符来实现白色圆盘效果:
- 空心白圈:
○(Unicode U+25CB) - 实心白圈:
●(Unicode U+25CF) - 带边框的实心白圈:
◎(Unicode U+25CE)
示例代码:
// 打印实心白圈和你的黑色空心圈 System.out.println("● O");
2. 用ANSI转义序列控制颜色
如果终端支持ANSI颜色(主流终端都支持),可以通过颜色代码实现更灵活的显示:
- 白色字符(黑背景下显示为白色):
\033[37mO\033[0m - 白色背景+黑色字符模拟白圈:
\033[47;30m \033[0m
示例代码:
// 输出白色实心效果 System.out.println("\033[37m●\033[0m"); // 重置颜色,避免影响后续输出
3. 纯ASCII替代方案
如果终端不支持Unicode或ANSI,用简单字符模拟:
- 白色实心:
@或# - 白色空心:
()或[]
额外优化建议
- 把棋盘数据存在二维数组里,遍历数组时根据存储值输出对应字符/颜色,代码更易维护
- Windows命令提示符下如果Unicode显示异常,可以先执行
chcp 65001切换编码
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

