在Java(BlueJ)中打印此模式的可能逻辑是什么?



注意:"#"在这里代表"空间"。下面是显示我如何尝试编写程序的代码片段:-

//Pattern to be printed:-
    /* ##1
     * #121
     * 12321
     * #121
     * ##1
       */
    for(int i=n;i>=1;i--)
    {
        for(int j=n-3;j>=0;j--)
        {
           System.out.print(" ");
           for(int k=i-2;k>=1;k--)
           {
               System.out.print(k);
           }
           System.out.println();
        }
    }
你可以

试试这个,

int i,s,k,j;
for (i=1;i<=5;i++) //for 5 loops
{
    for (s=1;s<=5-i;s++) //for spaces
    {
        System.out.print(" ");
    }
    for (j=1;j<=i;j++)
    {
        System.out.print(j); //for printing values
    }
    for (k=i-1;k>=1;k--)
    {
        System.out.print(k); //for printing values
    }
    System.out.println(); //for line break
}
for (i=4;i>=1;i--) //for 4 loops
{
    for (s=1;s<=5-i;s++) //for spaces
    {
        System.out.print(" ");
    }
    for (j=1;j<=i;j++)
    {
        System.out.print(j); //for printing values
    }
    for (k=i-1;k>=1;k--)
    {
        System.out.print(k); //for printing values
    }
    System.out.println(); //for line break
}

输出将是:

    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1

如果您想要不同尺寸的钻石,只需更改max

public class Pattern {
  public static void main(String[] args) {
    int max = 3;
    // Draw triangle
    for (int i = max; i >= 0; i--) {
      foo(max-i, max);
    }
    // Draw upside down triangle
    for (int i = 1; i < max; i++) {
      foo(max-i, max);
    }
  }
  public static void foo(int n, int max) {
    // Put spaces to center it
    for (int i = 0; i < max-n; i++) {
      System.out.print(" ");
    }
    // Print counting up
    for (int i = 1; i <= n; i++) {
      System.out.print(i);
    }
    // Print counting down
    for (int i = n-1; i >= 1; i--) {
      System.out.print(i);
    }
    // New line character
    System.out.println();
  }
}

输出(请注意,顶部有一个额外的空间,我将把它留给你一个练习,让你尝试删除(:

  1
 121
12321
 121
  1

这是你想要的代码

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        int n;
        Scanner sc=new Scanner(System.in);
        n=sc.nextInt();
        int a,b;
        a=n-1;
        b=1;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=a;j++)
                System.out.print("#");
            for(int k=1;k<=b;k++)
                System.out.print(k);
            for(int l=b-1;l>=1;l--)
                System.out.print(l);
            System.out.println("n");   
            a--;
            b++;
        }
        a=1;
        b=n-1;
        for(int i=n-1;i>=1;i--)
        {
            for(int j=1;j<=a;j++)
                System.out.print("#");
            for(int k=1;k<=b;k++)
                System.out.print(k);
            for(int l=b-1;l>=1;l--)
                System.out.print(l);
            a++;
            b--;
                    System.out.println("n");   
        }
    }
}

输出-

##1
#121
12321
#121
##1

最新更新