使用打印格式均匀地分隔一个或多个数字的整数显示

时间:2017-03-16 00:57:54

标签: java

我正在尝试编写一个程序,显示从2到20的所有偶数。 我试图使用 System.out.format 均匀显示数字但是一旦要显示的数字以数字增加,间距就会变得不均匀。

所需的输出是:

2 4 6 8 10 12 14 16 18 20

但我得到的输出是:

2 4 6 8101214161820

这是我的源代码:

public class HelloWorld {
     public static void main(String []args) {
         final int UPPERLIMIT = 20;
         int i = 2;
         do {
             if((i % 2) == 0)
                 System.out.format("%2d",i);
             i++;
         } while(i<=UPPERLIMIT);
         System.out.println();
     }
}

2 个答案:

答案 0 :(得分:3)

如果结果&gt; = 10,则需要两个空格。因此它们之间不会有空格。 你可以删除“2”并在“%d”之后添加一个空格:

public static void main(String[] args){
     final int UPPERLIMIT =20;
             int i=2;
             do
             {

                 if((i%2)==0)
                 System.out.format("%d ",i);
                 i++;
             }
             while(i<=UPPERLIMIT);
             System.out.println();
}

答案 1 :(得分:0)

检查输出是否大于10,如果是,请在

中添加第三个空格
public class HelloWorld{

     public static void main(String []args){
         final int UPPERLIMIT =20;
         int i=2;
         do
         {
             if(i%2 == 0){
                 if(i < 10){
                     System.out.format("%2d",i);                      
                 }
                 else{
                      System.out.format("%3d",i);                        
                 }                 
             }
             i++;
         }
         while(i<=UPPERLIMIT);
         System.out.println();   
     }
}