java - notepad++ 的 nppexec 中的\t 间距

标签 java console notepad++ nppexec

我用 java“CircleDemo”编写了一个程序,它不可避免地会执行以下操作:

System.out.printf("The circle's area \t   is \t %.2f \n", circle.getArea());
System.out.printf("The circle's diameter \t   is \t %.2f \n", circle.getDiameter());
System.out.printf("The circle's circumference is \t %.2f \n", circle.getCircumference());

在 cmd.exe 中,显示如下:

The circle's area          is    3.14 
The circle's diameter      is    2.00
The circle's circumference is    6.28

漂亮、干净的格式。

但是,Notepad++ 的控制台 (nppexec) 打印相同的程序,如下所示:

The circle's area     is    3.14 
The circle's diameter      is    2.00
The circle's circumference is    6.28

您可以看到格式有何不同。现在,我已经研究了足够长的时间,发现导致此问题的原因是“\t”在 cmd.exe 与 Notepad++ 的 nppexec 中打印选项卡的方式不同。

如何编辑 nppexec 的“\t”格式以像 cmd.exe 一样打印“\t”?

最佳答案

避免使用 \t 获取数组格式。我可能会简单地使用

System.out.printf("The circle's area          is %.2f %n", circle.getArea() );
System.out.printf("The circle's diameter      is %.2f %n", circle.getDiameter());
System.out.printf("The circle's circumference is %.2f %n", circle.getCircumference());

如果需要更动态的解决方案,您可以使用

System.out.printf("The circle's %-13s is %.2f%n", "area", circle.getArea());

或者如果响应不需要总是以The Circle's开头

System.out.printf("%-26s is %.2f%n", "The circle's area",  circle.getArea());

DEMO

关于java - notepad++ 的 nppexec 中的\t 间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31210380/

相关文章:

java - 以不可移植语言(即 C/C++)编写的程序的可移植性

java - 尝试使用种子值生成随机字符来测试程序。以及将随机生成的 int 转换为 char

java - Java 程序为 VB 应用程序生成的文件的编码问题

tabs - 如何使 Notepad++ 不替换TAB的空格?

java - Mac 版 Eclipse 中的 JOGL

javascript - 通过javascript检查是否安装了JDK

javascript - 如何在Chrome或Firefox的JavaScript控制台中引用最后打印出来的对象?

c# - 控制台实用程序应用程序版本的方法

c# - .NET 控制台应用程序如何查找引用的程序集?

c - 从 Notepad++ 执行gcc?