
一道Java编程题
构造一个n阶方阵,方阵的大小从键盘输入,方阵的最外一圈元素为1,以后往内依次为2,3,....n。例如:1111112221123211222111111...
构造一个n阶方阵,方阵的大小从键盘输入,方阵的最外一圈元素为1,以后往内依次为2,3,....n。 例如:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1 展开
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1 展开
2个回答
展开全部
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("构造一个方阵,阶数为:");
int n = in.nextInt();
showResult(n);
}
private static int findMinValue(int a,int b,int c,int d){
return Math.min(Math.min(a, b),Math.min(c, d));
}
private static void showResult(int n){
for (int i = 1; i < n+1; i++) {
for (int j = 1; j < n+1; j++) {
System.out.print(findMinValue(i,j,Math.abs(n-i)+1,Math.abs(n-j)+1));
System.out.print("\t");
}
System.out.println();
System.out.println();
}
}
}
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("构造一个方阵,阶数为:");
int n = in.nextInt();
showResult(n);
}
private static int findMinValue(int a,int b,int c,int d){
return Math.min(Math.min(a, b),Math.min(c, d));
}
private static void showResult(int n){
for (int i = 1; i < n+1; i++) {
for (int j = 1; j < n+1; j++) {
System.out.print(findMinValue(i,j,Math.abs(n-i)+1,Math.abs(n-j)+1));
System.out.print("\t");
}
System.out.println();
System.out.println();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询