Java中输出的间距

没有图形用户界面的Java程序使用计算机的命令行与用户进行交互。正确设置程序的命令行输出的格式和空间至关重要,以便用户可以理解。您可以使用循环或通过Java的Formatter类来手动分隔输出。

等宽字体

等宽字体是这样一种字体,其中每个字母占用的空间与字体中其他字母占用的空间相同。例如,在等宽字体中,字符“i”与字符“m”占用的空间量相同。在具有等宽字体的环境中运行Java程序,例如Windows命令行或Macintosh Terminal,可以通过计算每一行中的字符数来将文本排列和设置为整齐的列。

手动间距

在 Java 中正确分隔输出的最简单方法是添加手动间距。例如,要输出三个不同的整数“ i”,“ j”和“ k”,并且每个整数之间都有一个空格,请使用以下代码:

System.out.println(i + " " + j + " " + k);

如果“ i”,“ j”和“ k”的值分别为25、6和31,则程序输出“ 25 6 31”。该方法的主要缺点是没有考虑每个整数中的字符数。如果打印三行均匀间隔的列,第二列的宽度将不会与前两列相同。如果下一行包含值 6、8 和 2,则列将完全未对齐。

格式化程序间距

Java的Formatter类允许您在输出数据之前对其进行格式化。使用 Formatter,您可以定义值的最大宽度,然后 Formatter 会自动用空格填充该值以确保其宽度相同。如果使用相同的格式设置选项输出多个值,则可以确保它们将在输出行中占用相同的空间。输出格式化的文本片段很简单-而不是使用“ System.out.print()”,而要使用“ System.out.format()”。 format 方法采用两个输入,而不是 print 方法使用的单个输入。第一个输入是一个字符串,代表应应用于输出的格式,第二个输入是输出本身。要打印三个整数值,每个值最多三个字符,中间有一个空格,请使用以下代码:

System.out.format(“%4d”,i); System.out.format(“%3d”,j); System.out.format(“%3d”,k); System.out.println();

格式字符串第一部分中的“%4”表示程序应该使用四个字符来打印每个整数。如果整数只有两个字符长,则其他两个字符将为空格。格式字符串中的“d”表示输出值为十进制整数。代码的最后一行“ System.out.println()”将光标移动到代码的下一行。

循环间距

Formatting类要求对用于定义输出格式的字符串有广泛的了解。但是,您可以使用循环组合来实现更复杂的间距,而无需复杂的格式字符串。尝试在多个字符串之间实现均匀间距时,循环特别有用。例如,您可以采用两个字符串数组并使用两个循环在两个平行列中显示它们的内容。第一个循环遍历两个数组,并找到两个数组中最长的字符串的长度。第二个循环再次遍历数组。它打印第一个数组中的字符串,然后从两个数组中最长的字符串的长度中减去第一个字符串的长度,以找出需要在下一列之前放置多少空格。然后,程序使用以下嵌套循环打印该数量的空格:

for(int i = 0; i < numSpaces;i++){ System.out.print(" "); }

打印正确数量的空格后,它将打印第二个字符串。这将创建两行等距的字符串列,而无需Java的Formatter。


$config[zx-auto] not found$config[zx-overlay] not found