2 Stimmen

Wie man in Java den Anfang und das Ende einiger Zeilen unterschiedlich gestaltet

Ich versuche, diese Form zu erstellen:

<>()<>()<>
()<>()<>()
<>()<>()<>
()<>()<>()
<>()<>()<>

Wenn ich eine gerade Zahl für n verwende, ist alles gut, aber wenn ich eine ungerade Zahl für n verwende, ist der Anfang aller Zeilen gleich.

Das ist mein Code:

int n = 5, zeile = 1, spalte = 1;

    for (int i=0; i< (n*n); i++){

        if ((zeile % 2) == 0){
            System.out.print((((i%2) == 0) ? "()" : "<>"));
        }else{
            System.out.print((((i%2) == 1) ? "()" : "<>"));
        }

        if (spalte == n){
            spalte = 1;
            zeile++;
            System.out.println();
        } else {
            spalte++;
        }
    }

Danke :)

2voto

TheConstructor Punkte 4165

Bei n=3 hat die erste Zeile i=0,1,2, die zweite i=3,4,5 und die dritte i=6,7,8. i=0 und i=3 in der gleichen Zeile haben ein unterschiedliches Muster, aber da sie sich in verschiedenen Zeilen befinden, kehrt die zweite Bedingung dieses Muster um.

Entweder tauschen Sie i mit spalte innerhalb des Drucks oder verwenden Sie

    int n = 5;

    for (int zeile = 0; zeile < n; zeile++) {

        for (int spalte=0; spalte < n; spalte++){

            if ((zeile + spalte) % 2 == 0){
                System.out.print("<>");
            }else{
                System.out.print("()");
            }
        }
        System.out.println();
    }

0voto

Leo Pflug Punkte 544

Verwenden Sie colomn anstelle von i:

    if ((Zeile % 2) == 0){
        System.out.print((((colomn%2) == 0) ? "()" : "<>"));
    }else{
        System.out.print((((colomn%2) == 1) ? "()" : "<>"));
    }

0voto

Snail Punkte 457

Noch eine Lösung:

   int n = 5, line = 0;
   for (int i = 1; i <= n*n; i++){
       String str;

       if (n % 2 == 0 && line % 2 == 0)
           str = i % 2 == 0 ? "<>" : "()";
       else
           str = i % 2 == 0 ? "()" : "<>";

       System.out.print(str);

       if (i % n == 0) {
           System.out.println();
           line++;
       }    
   }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X