用面向对象解决:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列

xiaoxiao2021-02-28  96

package com.homework02;

import java.util.Arrays;

//输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列

public class ShuZu02 {

// 对数组的每一行中的元素进行升序排列

public void shengxu(int[] a) {

Arrays.sort(a);

}

// 对每一行元素进行求和求和

public int[] avg(int[][] a) {

int[] c = new int[a[0].length];

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < a[i].length; j++) {

c[i] = a[i][j] + c[i];

}c[i] = c[i]/5;

}

return c;

}

// 对数组每一行通过比较和,按照和降序排序

public void jiangxu(int[][] a, int[] b) {

for (int i = 0; i < b.length - 1; i++) {

for (int j = 0; j < b.length - 1 - i; j++) {

if (b[j] < b[j + 1]) {

int t = b[j];

b[j] = b[j + 1];

b[j + 1] = t;

int[] d = new int[5];

d = a[j];

a[j] = a[j + 1];

a[j + 1] = d;

}

}

}

}

//遍历数组

public static void main(String[] args) {

int[][] array = { { 1, 4, 2, 5, 14 }, { 14, 15, 2, 6, 3 }, { 18, 45, 62, 4, 35 }, { 1, 45, 2, 64, 54 },

{ 4, 516, 23, 15, 4 } };

ShuZu02 s = new ShuZu02();

//调用升序排序

for (int i = 0; i < array.length; i++) {

s.shengxu(array[i]);

}

//调用求平均值方法,并放到d数组中

int d[] = s.avg(array);

//输出放平均值数的一维数组

for (int i = 0; i < d.length; i++) {

System.out.print(d[i] + "  ");

}

System.out.println();

//调用降序数组,传入二维数组array和一维数组d两个参数

s.jiangxu(array, d);

//遍历数组输出最终数组

for (int i = 0; i < array.length; i++) {

for (int j = 0; j < array[i].length; j++) {

System.out.print(array[i][j] + " ");

}

System.out.println();

}

}

}

转载请注明原文地址: https://www.6miu.com/read-20358.html

最新回复(0)