顺时针螺旋的顺序依次打印出特定矩阵
问题描述:
题目:输入一个矩阵(要求:矩阵的大小由用户自己设定,设定好之后再从控制台上输入矩阵),按照从外向里以顺时针螺旋的顺序依次打印出每一个数字。例如:如果输入如下矩阵:
则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。
开发环境:
Eclipse
解题思路:
这题通过用户输入一个矩阵,顺时针螺旋输出其对应数值。1如何实现从台接收一个矩阵,通过改变a、b、c、d的值,按照要求打印出来,if语句来限制矩阵输出。
设计一个类:一个数组矩阵类arrayProblem。
类里面有print()方法,每一圈的打印由该方法实现。
主类则为运行程序的入口,调用arrayProblem类,完成程序功能
程序设计:
import java.util.Scanner;
public class arrayProblem {
public static void print(int[][] arr) {
System.out.println("该数组从外向里以顺时针螺旋的顺序依次打印出的顺序为:");
int a = 0;
int b = 0;
int c = arr.length - 1;
int d = arr.length-1;
while (a <= c && b <= d ) {
print(arr, a++