(Java程序题)输入一个5*5的矩阵(图片), 矩阵边的像素点值不变, 我的代码在下面,结果运行不行?
其他像素点的值取之前矩阵本身位置+上下左右像素点值的平均样例输入:5454545454545454545454545样例输出:5454544.24.84.2454.84....
其他像素点的值取之前矩阵本身位置+上下左右像素点值的平均
样例输入:
5 4 5 4 5
4 5 4 5 4
5 4 5 4 5
4 5 4 5 4
5 4 5 4 5
样例输出:
5 4 5 4 5
4 4.2 4.8 4.2 4
5 4.8 4.2 4.8 5
4 4.2 4.8 4.2 4
5 4 5 4 5
我的代码如下:
public class MatrixTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("输入你需要的阶层数:");
int n=scan.nextInt();//定义需要的阶层数n
int[][] num = new int[n][n];//定义一个n*n的数组array
System.out.println("输入数组的各个元素");
for (int i = 0;i<n;i++){
for (int j = 0;j<n;j++){
num[i][j] = scan.nextInt();
}
}
System.out.println("你输入的数组为:");
for (int i = 0;i<n;i++){
for (int j = 0;j<n;j++){
if (!((i==0 || i == n-1) || (j == 0 || j == n-1) )){
num[i][j] = (num[i][j] + num[i][j-1] + num[i][j+1] + num[i-1][j] + num[i+1][j]) / 5;
}
System.out.print(num[i][j]+"\t");
if (j == n-1){
System.out.println();
}
}
}
}
} 展开
样例输入:
5 4 5 4 5
4 5 4 5 4
5 4 5 4 5
4 5 4 5 4
5 4 5 4 5
样例输出:
5 4 5 4 5
4 4.2 4.8 4.2 4
5 4.8 4.2 4.8 5
4 4.2 4.8 4.2 4
5 4 5 4 5
我的代码如下:
public class MatrixTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("输入你需要的阶层数:");
int n=scan.nextInt();//定义需要的阶层数n
int[][] num = new int[n][n];//定义一个n*n的数组array
System.out.println("输入数组的各个元素");
for (int i = 0;i<n;i++){
for (int j = 0;j<n;j++){
num[i][j] = scan.nextInt();
}
}
System.out.println("你输入的数组为:");
for (int i = 0;i<n;i++){
for (int j = 0;j<n;j++){
if (!((i==0 || i == n-1) || (j == 0 || j == n-1) )){
num[i][j] = (num[i][j] + num[i][j-1] + num[i][j+1] + num[i-1][j] + num[i+1][j]) / 5;
}
System.out.print(num[i][j]+"\t");
if (j == n-1){
System.out.println();
}
}
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询