假設有一個池塘,管理員在池塘中添加隨機數量的魚類,為了統計魚類的分布情況,他將池塘劃分為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);}
}