packagetask3_ZH3;importjava.util.Scanner;publicclassMinefields{publicstaticvoidmain(String[] args){// TODO Auto-generated method stub//输入部分Scanner in =newScanner(System.in);System.out.println("请输入雷场的边场[5,20]之间:");int n = in.nextInt();System.out.println("请输入要布置的地雷数量(覆盖率不超过50%):");int m = in.nextInt();//判断合法性while(n <5|| n >20|| m <0|| m > n*n/2){System.out.println("您输入的数据不符合要求。");System.out.println("请输入雷场的边场[5,20]之间:");
n = in.nextInt();System.out.println("请输入要布置的地雷数量(覆盖率不超过50%):");
m = in.nextInt();}
in.close();// 主体部分char[][] mineFields =newchar[n][n];int[] mines =newint[m];
mines[0]=(int)(Math.random()* n * n);for(int i =1; i < m; i++){int temp =(int)(Math.random()* n * n);boolean isExist =false;for(int j =0; j < i; j++){if(temp == mines[j]){
isExist =true;break;}}if(isExist){
i--;}else{
mines[i]= temp;}}for(int i =0; i < m; i++){int row = mines[i]/ n;int col = mines[i]% n;
mineFields[row][col]='*';}for(int i =0; i < n; i++){for(int j =0; j < n; j++){if(mineFields[i][j]!='*'){int count =0;for(int tempI = i -1; tempI <= i +1; tempI++){for(int tempJ = j -1; tempJ <= j +1; tempJ++){if(tempI >=0&& tempI < n && tempJ >=0&& tempJ < n &&
mineFields[tempI][tempJ]=='*')
count++;}}
mineFields[i][j]=(char)(48+ count);}}}// 打印部分System.out.println("生成的雷场如下:");for(int i =0; i < n; i++){for(int j =0; j < n; j++){System.out.print(String.valueOf(mineFields[i][j])+" ");}System.out.println();}}}
题目代码package task3_ZH3;import java.util.Scanner;public class Minefields { public static void main(String[] args) { // TODO Auto-generated method stub //输入部分 Scanner in = new Scanner(System.in); System.out.println("请输入雷场的边场[5,20]之间:"); int