2016-05-19 2 views
-15

Ich habe versucht, ein Sternenmuster zu machen, aber ich wusste nicht, wie es geht, ich weiß, wie man Startmuster erstellt, wenn der Anfang oder die Leerzeichen kontinuierlich sind, aber wenn es ein Anfang und Leerzeichen ist das Muster, das ich unten zeige, ich weiß nicht, wie ich es machen soll.Jaya ein Sternmuster erstellen

* * 
    * * 
    * 
    * * 
* * 
+4

Was ist das genaue Problem? Was hast du bisher versucht? Bitte zeigen Sie einige Ihrer Versuche. – Turing85

+2

Sie können [bearbeiten] Sie Ihren Beitrag, um etwas Code, den Sie bisher versucht haben, und Beispiel-Ausgabe enthalten. Formatieren Sie Ihren Code, indem Sie ihn auswählen und Strg + K drücken. – Arc676

+0

Im aktuellen Zustand ist unklar, was Sie fragen. – Turing85

Antwort

3

Sie müssen Beziehungen zwischen den Ecken des Kreuzes/Sterns finden. Nimm diesen Stern zum Beispiel der Größe 5.er

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

In einem Kreuz in der Diagonale von (0,0) bis (4,4), Indizes gleich ist (in dem Code bedeutet dies Zeile == col) .

Auch Sie können feststellen, dass in der Diagonale von (0,4) bis (4,0) Indizes immer bis zu 4, die Größe - 1 ist (im Code das ist Zeile + col == Größe - 1).

Daher müssen Sie im Code durch Zeilen und dann durch Spalten durchlaufen. Sie müssen jedes Mal prüfen, ob die oben genannten Bedingungen erfüllt sind.

Code:

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

Es wird eine sehr nützliche Antwort sein, wenn Sie das OP erklären, was hier geschieht. – TDG

+0

Anstatt nur Code anzuzeigen, sollten Sie auch erklären, was der Code tut und warum er das Problem löst. Mit dieser Antwort lernt das OP nichts. ** Edit: ** scheint @TDG war schneller :) –

+0

Danke für die Antwort, jetzt sehe ich, was der Code tut, habe ich wirklich versucht, es mehrmals zu tun, aber ich habe nie das Muster gefunden. –