Imprimez le cube de Rubik
Entrez un nombre naturel N (2≤n≤9) et nécessitez la sortie de la matrice cube suivante, c'est-à-dire que la longueur latérale est n * n, les éléments sont pris de 1 à n * n et 1 est dans le coin supérieur gauche et chaque élément est placé dans le sens horaire. Quand n = 3:
1 2 3 8 9 4 7 6 5
[Formulaire d'entrée] Lisez un entier N à partir de l'entrée standard.
[Formulaire de sortie] Imprimez le résultat à la sortie standard. La matrice carrée qui répond aux exigences est sortie, chaque numéro occupe 5 caractères en largeur, est aligné sur la droite et un caractère de retour du chariot est sorti à la fin de chaque ligne.
【Échantillon d'entrée】 4
【Échantillon de sortie】
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
accomplir:
Package CN.DFeng; import java.util.arrays; import java.util.scanner; classe publique Maze {Enum Direction {up, bas, à droite, à gauche; } public int [] [] buidmaze (int n) {int [] [] kaze = new int [n] [n]; pour (int [] a: labyrinthe) {arrays.fill (a, 0); } int col = 0; int row = 0; int compteur = 1; Direction D = direction.Reight; while (true) {if (kaze [row] [col] == 0) {kaze [row] [col] = compter ++; switch (d) {case droite: if (col + 1 <n && kaze [row] [col + 1] == 0) {col ++; } else {d = direction.down; row ++; } casser; case Down: if (row + 1 <n && kaze [row + 1] [col] == 0) {row ++; } else {d = direction.left; Col -; } casser; Case Left: if (col - 1> = 0 && kaze [row] [col-1] == 0) {col -; } else {d = direction.up; rangée --; } casser; Default: if (row - 1> = 0 && kaze [row - 1] [col] == 0) {row -; } else {d = Direction.Right; col ++; } casser; }} else {Break; }} Retour Maze; } public void printmaze (int [] [] kaze) {for (int [] row: kaze) {for (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 ("Veuillez saisir la taille du labyrinthe:"); int size = sc.nextint (); Labyrinthe du labyrinthe = nouveau labyrinthe (); int [] [] m = kaze.buidmaze (taille); Maze.PrintMaze (M); }}Imprimer des graphiques en diamant
L'effet de l'image du diamant est probablement comme ceci:
Regardons le code ci-dessous
Package CN.DFeng; / ** * Cette classe peut utiliser * pour imprimer Diamond Graphic avec ** @author dfeng * * / public class Drawer {/ ** * Imprimer Diamond Graphic * @param n Diamond Size * / public void printDiamond (int n) {System.out.println (); int i = 0; Flag booléen = true; while (i> = 0) {if (i <n) {for (int j = 0; j <n - i; j ++) {System.out.print (""); } pour (int j = n - i; j <= n + i; j + = 2) {System.out.print ("*"); } System.out.println (); } if (i == n) {flag = false; je--; } if (flag) {i ++; } else {i--; }}}}