数组元素位置调换——改变算法后

/* (程序头部注释开始) 

* 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * 作 者: 李兆庆 * 完成日期: 2012 年 9 月 18 日 * 输入描述: * 问题描述及输出: 编写一个Java应用程序, * 实现功能:将二维数组中值最大的元素和左上角元素对调,然后将值最小的元素与右下角元素对调。例如: 1 4 5 6 7 2 10 11 9 8 12 3,对调后结果 12 4 5 6 7 2 10 11 9 8 3 1 * 程序头部的注释结束 */ public class Num{ /** * @param args */ public static void main(String[] args) { int[][] a = { { 1, 4, 5, 6 }, { 7, 2, 10, 11 }, { 8, 9, 12, 3 } }; System.out.println("对调前输出数组为:"); printMatrix(a); //按二维方式输出数组 System.out.println("对调后输出数组为:"); printNewMatrix(a); //对调后输出数组 printMatrix(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){ int max = a[0][0],min = a[0][0], p = 0, q = 0, b = 0, c = 0, d = 0, f = 0; for (int i = 0; i < a.length; i++){ for (int j =0; j < a[i].length-1 ; j++){ if (min >a[i][j+1]){ //查找数组中最小元素,并记录其下表。 min = a[i][j+1]; b = i; //将较小的元素的行下表记录下来。 c = j+1; //将较小的元素的列下表记录下来 } if (max


你可能感兴趣的:(关于JAVA)