Language:Java SE 8 为什么算出来和示例不一样?是Math.round的问题还是数据类型没用double的问题?还是Q=P的问题?还是什么我没发现的问题?
import java.util.Scanner;
public class B2108{
public static void main(String[] args){
int n=0,m=0;
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
int[][] P=new int[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
P[i][j]=sc.nextInt();
}
}
sc.close();
int[][] Q=new int[n][m];
Q=P;
for(int x=1;x<n-1;x++){
for(int y=1;y<m-1;y++){
Q[x][y]=(int)(Math.round((P[x][y]+P[x-1][y]+P[x+1][y]+P[x][y+1]+P[x][y-1])/5.0));
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(Q[i][j]+" ");
}
System.out.print("\n");
}
}
}