Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int sizeOfSide = 5;
- // static int sizeOfArray = sizeOfSide - 1;
- static int[][] matrix = new int[sizeOfSide][sizeOfSide];
- static int count = 1;
- public static void main(String[] args) {
- int level = 0;
- for (level = 0; level < sizeOfSide / 2; level++) {
- fillFourSides(level);
- }
- // Filling last element
- if (sizeOfSide % 2 == 1) {
- matrix[level][level] = count++;
- }
- printMatrix(matrix, 4);
- }
- private static void fillFourSides(int level) {
- // Filling top side
- for (int i = 0 + level; i < sizeOfSide - level; i++) {
- matrix[level][i] = count++;
- }
- // Filling right side
- for (int i = 1 + level; i < sizeOfSide - level; i++) {
- matrix[i][sizeOfSide - 1 - level] = count++;
- }
- // Filling bottom
- for (int i = sizeOfSide - 2 - level; i >= level; i--) {
- matrix[sizeOfSide - 1 - level][i] = count++;
- }
- // Filling left side
- for (int i = sizeOfSide - 2 - level; i >= level + 1 ; i--) {
- matrix[i][level] = count++;
- }
- }
- private static void printMatrix(int[][] matrix, int digits) {
- String pattern = "%" + digits + "d";
- for (int i = 0; i < sizeOfSide; i++) {
- for (int j = 0; j < sizeOfSide; j++) {
- System.out.printf(pattern, matrix[i][j]);
- }
- System.out.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement