JAVA-第周围实验-任务3-求矩阵元素换位。(编程思想)

JAVA--第四周实验--任务3--求矩阵元素换位。(编程思想)
/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
 * All rights reserved.
 * 文件名称:求矩阵元素换位
 * 算法提示:.将二维数组中值最大的元素和左上角元素对调,然后将值最小的元素与右下角元素对调。例如:
1 4 5 6
7 2 10 11
9 8 12 3,
对调后结果
12 4 5 6
7 2 10 11
9 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 stub
		int[][] 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);
	}


}


 

运行结果:

JAVA-第周围实验-任务3-求矩阵元素换位。(编程思想)