2017-11-11 57 views
0

注意:'#'代表'空間'在這裏。 下面是說明如何我試着寫程序代碼片段: -在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(); 
     } 
    } 

回答

0

你可以試試這個,

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 
0

剛如果您想要不同尺寸的鑽石,請更改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 
0

這裏是你想

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