假设有一个池塘,管理员在池塘中添加随机数量的鱼类,为了统计鱼类的分布情况,他将池塘划分为8*8的二维网格,鱼儿随机游动,但是每个网格中最多容纳100条鱼,要求编写程序显示鱼儿分布情况,并计算鱼儿数量最多的网格坐标。统计鱼儿分布情况效果如图所示。
package lianxi1;import java.util.Random;public class FishPopulation {public static void main(String[] args) {int[][] seaGrid = new int[8][8]; // 定义8x8池塘Random random = new Random();// 生成每格的鱼数,最大100for (int i = 0; i < 8; i++) {for (int j = 0; j < 8; j++) {seaGrid[i][j] = random.nextInt(101);}}// 打印鱼儿分布(可以用表格或对齐格式)System.out.println("鱼儿分布情况(每个格子中的鱼数):");System.out.println("-------鱼儿分布情况(每个格子中的鱼数):------");for (int i = 0; i < 8; i++) {System.out.print(" ");for (int j = 0; j < 8; j++) {// 每个数宽度一致,避免输出错位System.out.printf("%3d", seaGrid[i][j]);if (j != 7) {System.out.print(" ");}}System.out.println();}System.out.println("--------------------------------------------");// 找出最大鱼数的网格int maxFish = seaGrid[0][0];int maxRow = 0;int maxCol = 0;for (int i = 0; i < 8; i++) {for (int j = 0; j < 8; j++) {if (seaGrid[i][j] > maxFish) {maxFish = seaGrid[i][j];maxRow = i;maxCol = j;}}}// 输出最大鱼数对应的网格(行列从1开始编号)System.out.println("该池塘中鱼最多的网格坐标为:(" + (maxRow + 1) + ", " + (maxCol + 1) + ")");System.out.println("鱼的最大数量为:" + maxFish);}
}