文本显示在左侧
但是我希望它在中间显示
有多少我完成这个
这是个新手问题吗?
例:
public static void main(String[] args) { System.out.println("Hello"); }
解决方法
您可以使用JavaCurses库在控制台上进行有趣的操作.阅读下面它在那里.
在你做完之前,让我们回答一下你的整个问题
这是一个新手问题:)但这是一个有效的问题.所以有一些提示给你:
第一个问题是终端有多宽? (以字符数计算)旧终端的固定尺寸为80个字符和25行;
所以作为第一步开始的假设,它是80个字符宽.
你将如何将一个字符串放在80个字符的终端屏幕上?
你需要担心字符串的长度吗?你如何水平定位?你添加空格吗?有没有格式字符串可以想出来?
一旦你写了一个程序,你可以给它任何字符串,将正确地显示这些假设(终端是80个字符宽),你现在可以开始担心,如果你连接到一个或多或少的终端会发生什么超过80个字符?或者你是否连接到终端.例如,如果你不“意识”你的代码是否有意义?可能不会.
那么问题是你如何获得所有这些信息?
您要求的是将控制台视为具有基于字符的控制功能的智能电传(tty)终端的能力.老式的电传终端可以做很多有趣的事情.
有些历史
电信终端是复杂的事情,来自遗留下来的许多终端制造商(IBM,DEC等)…这些电传终端被开发来解决诸如能够从大型机和小型计算机远程显示内容的许多问题.
终端开发历史上有不少点终端标准vt100,vt200,vt220,ansi等等.
这些终端可以定位光标和窗口和颜色,突出显示文本,下划线等,但并不是每个人都可以做一切.但是这是使用“控制”字符完成的. ctrl-l在ansi和vt终端上清除屏幕,但可能是其他的页面提供.
如果你写了一个特定于一个程序,在其他地方是没有意义的.因此,使这种简单的必要性导致了几个抽象图书馆的开发,这将隐藏恶意.
第一个称为termcap(终端功能)库,大约在1978年,它提供了一种在UNIX系统上处理终端的通用方式.它可以告诉运行程序的终端的可用功能(例如,改变文本颜色的能力)或将光标定位在某个位置,或者清除自身等等,然后该程序将相应地修改其行为.
第二个图书馆被称为诅咒,大约1985年(??)它是作为BSD系统的一部分开发的,用于写游戏…这个库最受欢迎的版本之一是GNU curses库(以前称为ncurses ).
在VMS上,我相信这个图书馆叫做SMG $(屏幕管理库).
随着答案
任何如何,所以你可以在java中使用这些库之一来确定你是否在正确的终端上工作.源代码伪造有一个名为JavaCurses的库,可以为Java程序提供此功能.这将是一个练习,学习如何在您的程序中使用新的图书馆,应该是令人兴奋的.
JavaCurses在Unix和Windows环境中提供终端编程功能.这将是一个有趣的运动,让你看看是否可以使用它来玩.
高级运动
另一个练习是使用同一个库来查看是否可以创建一个在终端上显示得很好的程序,还可以写出没有终端代码的文本文件;
如果您有任何问题,请发邮件,我会帮助您.