计算以最小值为中心其9宫格内所有元素的和
package com.kfm.java_text;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Text3 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入n 和 m:");
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr=new int[n][m];
Random ra=new Random();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = ra.nextInt(100);
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(Arrays.toString(arr[i]));
System.out.println();
}
int rMin = 0;
int cMin = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if (arr[rMin][cMin] > arr[i][j]){
rMin = i;
cMin = j;
}
}
}
System.out.println("最小值是:" + arr[rMin][cMin]);
System.out.println("最小值的坐标是:" + rMin + "," + cMin);
int tl = 0, t = 0, tr = 0, l = 0, r = 0, bl = 0, b = 0, br = 0;
if ((rMin - 1) >= 0 && (cMin - 1) >= 0){
tl = arr[rMin - 1][cMin - 1];
}
if ((rMin - 1) >= 0){
t = arr[rMin - 1][cMin];
}
if ((rMin - 1) >= 0 && (cMin + 1) < m){
tr = arr[rMin - 1][cMin + 1];
}
if ((cMin - 1) >= 0){
l = arr[rMin][cMin - 1];
}
if ((cMin + 1) < m){
r = arr[rMin][cMin + 1];
}
if ((rMin + 1) < n && (cMin - 1) >= 0){
bl = arr[rMin + 1][cMin - 1];
}
if ((rMin + 1) < n){
b = arr[rMin + 1][cMin];
}
if ((rMin + 1) < n && (cMin + 1) < m){
br = arr[rMin + 1][cMin + 1];
}
int sum = tl + t + tr + l + arr[rMin][cMin] + r + bl + b + br;
System.out.println("以最小值为中心九宫格的和是:" + sum);
}
}