import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
char[][]arr =new char[n+2][m+2];//设置一个更大的数组,把边缘无8个方向的带进去
for(int i=1;i<n+1;i++) {
for(int j=1;j<m+1;j++) {
arr[i][j]=sc.next().charAt(0);//java中接受char单个字符的方法
}
}
char[][] str=new char[n][m];
for(int i=1;i<n+1;i++) {
for(int j=1;j<m+1;j++) {
int sum=0;
if(arr[i][j]=='*'){
System.out.println('*');
continue;//发现是地雷结束,开始下一次循环
}
if(arr[i-1][j-1]=='*')
sum++;
if(arr[i-1][j]=='*')
sum++;
if(arr[i-1][j+1]=='*')
sum++;
if(arr[i][j-1]=='*')
sum++;
if(arr[i][j+1]=='*')
sum++;
if(arr[i+1][j-1]=='*')
sum++;
if(arr[i+1][j]=='*')
sum++;
if(arr[i+1][j+1]=='*')
sum++;
System.out.print(sum);
}
System.out.println();
}
}
}
只跑出两个测试点,20分,后续改改
本文介绍了一个简单的扫雷游戏实现方案,使用Java语言编程。通过创建一个二维数组来模拟游戏地图,并利用Scanner类读取用户的输入。文章展示了如何计算每个单元格周围地雷的数量并打印到控制台。
1263

被折叠的 条评论
为什么被折叠?



