2016-05-19 32 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

感谢您的答案,现在我看到代码做了什么,我真的尝试了几次,但我从来没有找到模式。 –