2016-05-19 64 views
-15

我試圖做出一個星型,但我不知道該怎麼做,我知道如何在開始或空格連續時做出開始模式,但是當它是一個開始和空格時我在下面展示的模式,我不知道如何去做。Jaya創建一個星型

* * 
    * * 
    * 
    * * 
* * 
+4

什麼是確切的問題?你試過什麼了?請展示一些你的嘗試。 – Turing85

+2

您可以[編輯]您的文章,以包含您迄今爲止已嘗試的代碼和樣本輸出。選擇它並按下Ctrl + K來格式化您的代碼。 – Arc676

+0

在目前的狀態下,你不清楚你在問什麼。 – Turing85

回答

3

您需要找到十字架/星的角落之間的關係。藉此星例如大小5.

0 1 2 3 4 
0 *  * 
1 * * 
2  * 
3 * * 
4 *  * 

的在從(0,0)對角的橫向(4,4),指數是相同的(在代碼中,這意味着行== COL) 。另外,你可以注意到,在(0,4)到(4,0)的對角線中總是總和爲4,這是大小-1(在代碼中,這是行+ col ==大小 - 1)。

因此,在代碼中,您需要遍歷行然後遍歷列。每次你必須檢查上述條件是否滿足。

代碼:

class Main { 
    public static void main(String[] args) { 
     printCross(5); //Vertical size of cross 
    } 

    public static void printCross(int size) { 
     for (int row = 0; row < size; row++) { 
      for (int col = 0; col < size; col++) { 
       if (row == col || row + col == size - 1) { 
        System.out.print('*'); 
       } else { 
        System.out.print(" "); 
       } 
      } 
     System.out.println(); 
     } 
    } 
} 
+1

如果你解釋OP在這裏做什麼,這將是一個非常有用的答案。 – TDG

+0

而不是僅顯示代碼,您還應該解釋代碼的作用以及它爲什麼解決問題。有了這個答案,OP不會學到任何東西。 **編輯:**似乎@TDG更快:) –

+0

感謝您的答案,現在我看到代碼做了什麼,我真的嘗試了幾次,但我從來沒有找到模式。 –