Drucken Sie den Rubik's Cube
Geben Sie eine natürliche Zahl n (2 ≤ N ≤ 9) ein und erfordern die folgende Würfelmatrix, dh die Seitenlänge N*N, die Elemente werden von 1 bis n*n und 1 in der oberen linken Ecke und jedes Element wird im Uhrzeigersinn platziert. Wenn n = 3:
1 2 3 8 9 4 7 6 5
[Eingabeformular] Lesen Sie eine Ganzzahl N aus der Standardeingabe.
[Ausgangsformular] Drucken Sie das Ergebnis in die Standardausgabe. Die Quadratmatrix, die den Anforderungen entspricht, wird ausgegeben. Jede Zahl nimmt 5 Zeichen in der Breite ein, ist nach rechts ausgerichtet und am Ende jeder Linie wird ein Wagenrückgabetarif ausgeben.
【Eingangsprobe】 4
【Ausgangsprobe】
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
erreichen:
Paket cn.dfeng; Import Java.util.Arrays; import Java.util.scanner; public class Maze {Enum Direction {nach oben, rechts, rechts, links; } public int [] [] buidmaze (int n) {int [] [] Maze = new int [n] [n]; für (int [] a: Maze) {arrays.fill (a, 0); } int col = 0; int row = 0; int counter = 1; Richtung D = Richtung.R richtig; while (true) {if (Maze [row] [col] == 0) {Maze [row] [col] = counter ++; Switch (d) {case rechts: if (col + 1 <n && labyrinth [row] [col + 1] == 0) {col ++; } else {d = Direction.down; Zeile ++; } brechen; Fall Down: if (row + 1 <n && mazoze [row + 1] [col] == 0) {row ++; } else {d = Direction.left; col -; } brechen; case links: if (col -1> = 0 && labyrinth [row] [col -1] == 0) {col -; } else {d = DIRECTION.UP; Reihe --; } brechen; Standard: if (Zeile - 1> = 0 && Maze [Zeile - 1] [col] == 0) {row -; } else {d = Richtung.Right; col ++; } brechen; }} else {break; }} return Maze; } public void printMaze (int [] [] Maze) {für (int [] row: Maze) {für (int i: row) {System.out.printf ("%3d", i); } System.out.println (); }} / ** * @param args * / public static void main (string [] args) {scanner sc = new scanner (System.in); System.out.println ("Bitte geben Sie die Größe des Labyrinths ein:"); int size = sc.Nextint (); Maze Maze = neues Maze (); int [] [] M = Maze.buidmaze (Größe); Maze.printmaze (M); }}Diamond -Grafiken drucken
Die Wirkung des Diamond -Bildes ist wahrscheinlich wie folgt:
Schauen wir uns den Code unten an
Paket cn.dfeng; / *** Mit dieser Klasse kann* Diamond -Grafik mit ** @author dfeng**/ öffentliche Klasse Schublade {/ *** Diamond Graphic* @param n Diamond Größe*/ public void printDiamond (int n) {System.out.Out.Println () drucken; int i = 0; boolesche Flagge = wahr; while (i> = 0) {if (i <n) {für (int j = 0; j <n - i; j ++) {System.out.print (""); } für (int j = n - i; j <= n + i; j + = 2) {System.out.print ("*"); } System.out.println (); } if (i == n) {flag = false; ich--; } if (flag) {i ++; } else {i--; }}}}