读书人

java第周围 任务三 二维数组数据对

发布时间: 2012-09-25 09:55:59 作者: rapoo

java第四周 任务三 二维数组数据对调

/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:二维数组数据对调                      * 作    者:薛广晨                               * 完成日期:2011  年 09 月  18  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述:  将二维数组中值最大的元素和左上角元素对调,然后将值最小的元素与右下角元素对调。例如:          1 4 5 6          7 2 10 11          9 8 12 3,对调后结果          12 4 5 6          7 2 10 11          9 8 3 1 * 程序输出:   * 程序头部的注释结束 */package xgc.com;public class TestNewMatrix {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[][] a={{1,4,5,6},{7,2,10,11},{8,9,12,3}};System.out.println("数组为:");printMatrix(a);//按二维方式输出数组printNewMatrix(a);//对调后输出数组}static void printMatrix(int[][] a){for(int i = 0; i < a.length; i++){for(int j = 0; j < a[i].length; j++){System.out.print(a[i][j] + "    ");}System.out.println();     }}static void printNewMatrix(int[][] a){System.out.println("对调后数组为:");max_number(a);min_number(a);printMatrix(a);}static void max_number(int[][] a){int max = a[0][0];int m = 0, n = 0;int t;for(int i = 0; i < a.length; i++){for(int j = 0; j < a[i].length; j++){if(a[i][j] > max){max = a[i][j];m = i;n = j;}}     }t = a[0][0];a[0][0] = max;a[m][n] = t;}static void min_number(int[][] a){int min = a[0][0];int m = 0, n = 0;int t;for(int i = 0; i < a.length; i++){for(int j = 0; j < a[i].length; j++){if(a[i][j] < min){min = a[i][j];m = i;n = j;}}     }t = a[a.length - 1][a[a.length - 1].length - 1];a[a.length - 1][a[a.length - 1].length - 1] = min;a[m][n] = t;}}


运行结果:

java第周围  任务三   二维数组数据对调

读书人网 >编程

热点推荐