如何在java中打印第n个数字系列

时间:2014-05-17 05:35:05

标签: java series

有没有人可以帮我在java中打印下面的系列。我试图使用下面的代码,但它似乎无法正常工作。

期望的输出:


 9  18  27  36  45   
 9  18  27  36   
 9  18  27   
 9  18   
 9 

我的代码:

public class NumberSet {
    public static void main (String args[])
    {
        int i = 0, j=0;        
        for (j=1;j<=5;j++)
        {
            for (i=1;i<=50;i++)
            {
                if (i%9 ==0)
                {
                    System.out.print(" " + i + " ");
                }
            }
            System.out.println();
        }      
    }
}

输出我的代码:


 9  18  27  36  45 

 9  18  27  36  45 

 9  18  27  36  45 

 9  18  27  36  45 

 9  18  27  36  45 

感谢您在Advance中的帮助。

Arfater

3 个答案:

答案 0 :(得分:4)

首先,您可以通过乘以9而不是循环遍历所有数字并检查它们是否可被9整除来更有效地生成9的乘法。

其次,您可以简单地更改外部循环的顺序,并使内部循环变量依赖于外部循环变量,以便为外部循环的每次迭代获得不同的行为。

public class NumberSet {
public static void main (String args[])
{
    int i,j;
    for (j=5;j>=1;j--)
    {
        for (i=1;i<=j;i++)
        {
            System.out.print(" " + i*9 + " ");
        }
        System.out.println();
    }

}
}

输出:

 9  18  27  36  45 
 9  18  27  36 
 9  18  27 
 9  18 
 9 

答案 1 :(得分:0)

试试这个:

public class NumberSet {
    public static void main (String args[])
    {
        int i = 0, j=0, mul= 1;        
        for (j=5;j>=1;j--)
        {
           mul = 1;
           for (i=1;i<=j;i++)
           {
              System.out.print(" " + mul++ * 9 + " ");
           }
           System.out.println();
        }      
    }
}

希望这有助于你...

答案 2 :(得分:0)

试试这个:

enter code here

public class Myclass {

     public static void main(String args[])

     {
        int num = 5;

        for (int i = 0; i < 5; i++, num--)
        {
          for (int j = 1; j <= num; j++ )
          {
            System.out.print(9*j + " ");
          }
          System.out.println();
        }

      }
}