试图以一种方式打印数字但不能

时间:2013-07-07 03:57:36

标签: java formatting numbers

7
14 15
28 29 30 31
56 57 58 59 60 61 62 63

这是我想要打印但不能打印的方式。我写的代码就像:

public class Numbers
{
    public void printseries(int a, int b)
    {
        for (int i = 1; i <= 2 * b; )
        {
            int k = 0;
            k = a * i;
            i *= 2;
            for (int j = 1; j < i; j *= 2)
            {
                if (j == 1)
                    System.out.print(k);
                else
                {   
                    k++;
                    System.out.print(k);
                }
            }
        }
    }
}

打印以下内容

7141528293056575859

3 个答案:

答案 0 :(得分:3)

而不是使用print()代替println()。这将导致控制台在每次调用方法时打印出新行。如果您愿意,也可以在打印方法中使用"\n"转义字符。

编辑 这可能是您正在寻找的代码

class Numbers 
{
public void printseries(int a, int b)
{
    for(int i=1;i<=2*b;)
    {
        int k=0;
        k=a*i;
        i*=2;
        for(int j=1;j<i;j*=2)
        {
            if(j==1)
            System.out.println(k);
            else
            {   
                k++;
            System.out.print(k + " ");
            }       
        }
    }
}
}

答案 1 :(得分:0)

试试这个

public void printseries(int a, int b)
    {
        for (int i = 1; i <= 2 * b; )
        {
            int k = 0;
            k = a * i;
            i *= 2;
            for (int j = 1; j <= i/2; j++)
            {
                if (j == 1)
                    System.out.print(k);
                else
                {   
                    k++;
                    System.out.print(" "+k);
                }
            }
            System.out.println();
        }
    }

你也可以尝试这个

public void printseries(int a, int b)
    {
        for (int i = 1; i <= 2 * b; i*=2)
        {
            int k = 0;
            k = a * i;
            for (int j = 1; j <= i; j++)
            {
                if (j == 1)
                    System.out.print(k);
                else
                {   
                    k++;
                    System.out.print(" "+k);
                }
            }
            System.out.println();
        }
    }

答案 2 :(得分:0)

试试这个

    void printSeries(int a, int b)
    {
      int otherNumbs=1;

     for(int i=1;i<2*b;i*=2)
     {
       int k = i*a;
       int temp = k;

       for(int j = 0;j<otherNumbs;++j)
       {
         System.out.print(k++ + " ");
       }

       k = temp ;
       otherNumbs *= 2;
       System.out.println();
     }
    }

如果这有帮助。快感。