在java中创建数字模式

时间:2011-06-22 13:56:38

标签: java design-patterns

我需要根据用户输入的许多行在java中创建这些模式:

1
12
123
1234
12345

54321
4321
321
21
1


     1
    21
   321
  4321
 54321

我可以做前两个但我不能做第三个 以下是第二个代码:

public static void displayPatternII (int lines) {

    for (int i = 1; i <= lines; i++){
        for (int j = lines + 1 - i; j > 0; j--)
            System.out.print (j + " ");
        System.out.println();
    }
}

6 个答案:

答案 0 :(得分:3)

 public static void displayPatternIII (int lines) {

    for (int i = 1; i <= lines; i++){
      System.out.print(" ");
        for (int j = lines; j > 0; j--)
            System.out.print (j > i ? " " : j);
        System.out.println();
    }
}

答案 1 :(得分:0)

我会看Formatter而不是手动尝试填充空格。我也同意你的信息有点令人困惑......

答案 2 :(得分:0)

我不会给你答案,但我会告诉你必须做些什么。

让我们来看看

1
12
123
1234
12345

从1到特定数字(来自用户或其他)(让我们称之为最大值)     您将所有数字从1打印到当前索引

54321
4321
321
21
1

与上面相同,但你向后循环

     1
    21
   321
  4321
 54321

从1到最大    打印n + 1个空格,其中n是最大值和当前索引之间的差值

答案 3 :(得分:0)

由于它看起来像家庭作业,我会给你一个解决方案,我怀疑你可以提交给你一些想法。 ;)

public static void main(String... args) {
    displayPatternIII(5);
}

public static void displayPatternIII(int lines) {
    int cols = lines + 2;
    for (int i = 0; i < cols * lines; i++) {
        int x = i % cols;
        int y = i / cols;
        if (x == lines + 1)
            System.out.println();
        else if (x + y < lines)
            System.out.print(' ');
        else
            System.out.print(cols - x - 1);
    }
}

打印

     1
    21
   321
  4321
 54321

答案 4 :(得分:0)

class Series
{
    public static void main()
    {
        int i,j,k;
        for(i=1;i<=5;i++)
        {
            for(j=5;j>=i;j--)
            System.out.print(" ");
            for(k=i;k>=1;k--)
            System.out.print(k);
            System.out.println();
        }
    }
}

答案 5 :(得分:0)

点击此处可了解更多信息 Java Number Pattern

public class Program {
    public static void main(String[] args) {
        
        //declare the size
        //change the size
        int size = 5;
        
        //use two loops
        //outer loop to set the number of iterations i.e size
        for(int i=1; i<=size; i++){
            //use inner loop with a limit
            for(int j=1; j<=i; j++){
                System.out.print(""+j);
            }
            //use print statement with println to print in next line
            System.out.println("");
        }
        //run the program
       
    }
}