zoukankan      html  css  js  c++  java
  • 数组和矩阵的问题转圈打印数组

    package demo2;

    import java.util.Scanner;

    public class Main {

    private static Scanner input = new Scanner(System.in);
    public static void main(String[] args) {
    //1:首先初始化一个矩阵
    //2:打印这个矩阵中的值

    printMatrix(init(4,4));

    }

    public static int [][] init(int row,int col){
    int [][] matrix = new int[row][col];
    for (int i = 0;i<row;i++) {
    for (int j = 0;j<col;j++) {
    matrix [i][j] = input.nextInt();
    }
    }
    return matrix;
    }

    public static void printMatrix(int [][] matrix){
    int tr = 0;
    int tc = 0;
    int dr = matrix.length - 1;
    int dc = matrix[0].length - 1;
    while (tr <= dr && tc <= dc) {
    printEdge(matrix,tr++,tc++,dr--,dc--);
    }

    }

    private static void printEdge(int[][] matrix, int tr, int tc, int dr, int dc) {
    //1:首先判断这个矩阵是不是只有一行的情况
    if (tr == dr) {
    for (int i = tc;i <= dc;i++) {
    System.out.print(matrix[tr][i] + " ");
    }
    }
    //2:判断这个矩阵是不是只有一列的情况
    else if (tc == dc) {
    for (int i = tr;i <= dr;i++) {
    System.out.print(matrix[i][tc] + " ");
    }
    }else{//一般的情况
    int curc = tc;
    int curr = tr;
    while (curc != dc) {
    System.out.print(matrix[tr][curc]);
    curc++;
    }

    while (curr != dr) {
    System.out.print(matrix[curr][dc]);
    curr++;
    }

    while (curc != tr) {
    System.out.print(matrix[dr][curc]);
    curc--;
    }

    while (curr != tr) {
    System.out.print(matrix[curr][tc]);
    curr--;
    }

    }







    }

    }

  • 相关阅读:
    RMAN参考使用手册2[转载]
    硬盘故障的解决
    控制文件和重做日志文件
    设置DBID
    让虚拟机从U盘启动[转载]
    windows7桌面预览不出现的解决方法
    让.Net程序脱离.Net Framework框架运行
    抗辐射多吃六种食物《转》
    ASPX.NET学习记录(一)
    饮食影响人的七情六欲《转》
  • 原文地址:https://www.cnblogs.com/airycode/p/5762442.html
Copyright © 2011-2022 走看看