使用printf的JAVA打印问题
我在打印代码时遇到一些问题。我希望我的结果整齐地对齐,但不是那样的。如果有人能帮我解决这个问题,我将不胜感激 我的代码如下:使用printf的JAVA打印问题,java,Java,我在打印代码时遇到一些问题。我希望我的结果整齐地对齐,但不是那样的。如果有人能帮我解决这个问题,我将不胜感激 我的代码如下: public static void main(String[] args) { for(int j=1 ; j<=31;j++) { System.out.printf("%10d",j); if(j%7==0) { System.out.println(); } } }
public static void main(String[] args) {
for(int j=1 ; j<=31;j++) {
System.out.printf("%10d",j);
if(j%7==0) {
System.out.println();
}
}
}
publicstaticvoidmain(字符串[]args){
对于(int j=1;j根据
格式说明符以百分号(%)开头,以
转换器。转换器是一个字符,指示
要格式化的参数。介于百分号(%)和
转换器您可以有可选的标志和说明符
在这种情况下:
%
是格式语法的必填前缀
-
是左对齐的标志
10
表示宽度为10个字符,必要时带前导零
d
,一个十进制整数
因此,您的主要方法应该是:
public class Tst {
public static void main (String[] args)
{
for(int j=1 ; j<=31;j++) {
System.out.printf("%-10d",j);
if(j%7==0) {
System.out.println();
}
}
}
}
公共类Tst{
公共静态void main(字符串[]args)
{
对于(int j=1;j根据
格式说明符以百分号(%)开头,以
转换器。转换器是一个字符,指示
要格式化的参数。介于百分号(%)和
转换器您可以有可选的标志和说明符
在这种情况下:
%
是格式语法的必填前缀
-
是左对齐的标志
10
表示宽度为10个字符,必要时带前导零
d
,一个十进制整数
因此,您的主要方法应该是:
public class Tst {
public static void main (String[] args)
{
for(int j=1 ; j<=31;j++) {
System.out.printf("%-10d",j);
if(j%7==0) {
System.out.println();
}
}
}
}
公共类Tst{
公共静态void main(字符串[]args)
{
对于(int j=1;j您的代码是正确的。但是您应该在终端/控制台中使用单间距(固定宽度)字体,如Courier或Lucida Console:
- 在操作系统终端中不使用等距字体
- 或者在IDE的控制台中使用非等距字体
- 或者,您将输出转发到您在某个编辑器中再次使用非等距字体查看的文件
- 或者类似的非等距字体
您的代码是正确的。但您应该在终端/控制台中使用Courier或Lucida Console等单间距(固定宽度)字体:
- 在操作系统终端中不使用等距字体
- 或者在IDE的控制台中使用非等距字体
- 或者,您将输出转发到您在某个编辑器中再次使用非等距字体查看的文件
- 或者类似的非等距字体
try:System.out.printf(“%-10s”,j);@user202729我现在把它作为anwerFor OP发布了:如果你能多解释一下你的期望会更好。“整洁”是什么意思?@user202729整洁的意思accurately@Rcordoval(1)我告诉OP的不是你(2)这还不够精确。两个答案都假设OP希望输出左对齐,但如果OP希望输出右对齐/居中/其他对齐怎么办?不清楚。try:System.out.printf(“%-10s”,j)@user202729我现在把它作为一个答案发布了:如果你能多解释一下你的期望会更好。什么是“整洁”?@user202729整洁的意思accurately@Rcordoval(1)我告诉OP的不是你(2)这还不够精确。两个答案都假设OP希望输出左对齐,但如果OP希望输出右对齐/居中对齐/其他对齐怎么办?不清楚。谢谢你的帮助,但结果看起来与以前一样谢谢你的帮助,但结果看起来与以前一样使用固定宽度字体是正确的建议。但是,你是在混合薄字体在你的答案中,gs向上。True type指的是字体技术(字体格式)可用于固定宽度和可变宽度字体。MONOTYPE是一家提供字体和工具的公司。非常感谢你,我不太明白什么是MONOTYPE字体或true type,但更改字体解决了我的问题。@Henry:是的,我指的是单间距字体,而不是单字体:):)但你对TTF的看法是对的,我赞成你的意见:)使用固定宽度字体是正确的建议。但是,你在回答中弄混了东西。True type指的是字体技术(字体格式)可用于固定宽度和可变宽度字体。MONOTYPE是一家提供字体和工具的公司。非常感谢你,我不太明白什么是MONOTYPE字体或true type,但更改字体解决了我的问题。@Henry:是的,我指的是单间距字体,而不是单字体:):)但你对TTF的看法是对的,我赞成你的意见:)