【Java】求助!为什么算出来结果不一样呢??
查看原帖
【Java】求助!为什么算出来结果不一样呢??
1132794
Cryspird楼主2023/10/8 20:59

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");
        }
    }
}
2023/10/8 20:59
加载中...