JAVA--第四周实验--任务3--求矩阵元素换位。(编程思想)
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:求矩阵元素换位 * 算法提示:.将二维数组中值最大的元素和左上角元素对调,然后将值最小的元素与右下角元素对调。例如:1 4 5 67 2 10 119 8 12 3,对调后结果12 4 5 67 2 10 119 8 3 1 * 作 者: 雷恒鑫 * 完成日期: 2012 年 09 月 20 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */import javax.swing.JOptionPane;public class Task_one {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//String str = JOptionPane.showInputDialog("输入一个任意整数");// TODO Auto-generated method stubint[][] a={{1,4,5,6},{7,2,10,11},{8,9,12,3}};printMatrix(a);//按二维方式输出数组printNewMatrix(a);//对调后输出数组}static void printMatrix(int[][] a){System.out.println("按二维方式输出数组:");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();}System.out.println();}static void printNewMatrix(int[][] a){System.out.println("对调后输出数组:");int i = 0,min = a[0][0],max =a[0][0],nx = 0,ny = 0,variable;for(i = 0;i <a.length;++i)//求最大值{for(int j = 0;j <a[i].length;++j){if(max<a[i][j]){max=a[i][j];nx = i;ny = j;}}}variable = a[0][0];//中间变量a[0][0] = a[nx][ny];a[nx][ny] = variable;for(i = 0;i <a.length;++i)//求最小值{for(int j = 0;j <a[i].length;++j){if(min>a[i][j]){min=a[i][j];nx = i;ny = j;}}}i = 0;variable = a[a.length-1][a[i].length-1];a[a.length-1][a[i].length-1] = a[nx][ny];a[nx][ny] = variable;printMatrix(a);}}
运行结果: