求解用java输出下面方阵: 1 2 5 10 4 3 6 11 9 8 7 12 16 15 14 13
展开全部
import java.io.*;
public class Test {
public static void main(String[] args)throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入您需要的矩阵的边长: ");
String inputString = br.readLine();
int len = Integer.parseInt(inputString);
//声明一个边长为用户要求的矩阵
//如用户要求边长为2,则产生的数组为
// 0 0 0
// 0 1 2
// 0 4 3
// 输出
// 1 2
// 3 4
int[][] a = new int[len + 1][len + 1];
//计算矩阵内元素的值
/*
* 如 len = 3时的构造过程为
* 1 0 0
* 0 0 0
* 0 0 0
*
* 1 0 0
* 4 3 0
* 0 0 0
*
* 1 2 0
* 4 3 0
* 0 0 0
*
* 1 2 0
* 4 3 0
* 9 8 7
*
* 1 2 5
* 4 3 6
* 9 8 7
*/
for(int i = 1;i <= len;i ++){
for(int j = 1;j <= i; j++){
a[i][j] = i * i - (j - 1);
}
for(int k = 1;k < i; k ++){
a[k][i] = (i - 1) * (i - 1) + k;
}
}
//输出矩阵
for(int i = 1;i <= len; i ++){
for(int j = 1; j <= len; j ++){
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}
你要的矩阵只需要输入4,就可以输出你要的结果了
public class Test {
public static void main(String[] args)throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入您需要的矩阵的边长: ");
String inputString = br.readLine();
int len = Integer.parseInt(inputString);
//声明一个边长为用户要求的矩阵
//如用户要求边长为2,则产生的数组为
// 0 0 0
// 0 1 2
// 0 4 3
// 输出
// 1 2
// 3 4
int[][] a = new int[len + 1][len + 1];
//计算矩阵内元素的值
/*
* 如 len = 3时的构造过程为
* 1 0 0
* 0 0 0
* 0 0 0
*
* 1 0 0
* 4 3 0
* 0 0 0
*
* 1 2 0
* 4 3 0
* 0 0 0
*
* 1 2 0
* 4 3 0
* 9 8 7
*
* 1 2 5
* 4 3 6
* 9 8 7
*/
for(int i = 1;i <= len;i ++){
for(int j = 1;j <= i; j++){
a[i][j] = i * i - (j - 1);
}
for(int k = 1;k < i; k ++){
a[k][i] = (i - 1) * (i - 1) + k;
}
}
//输出矩阵
for(int i = 1;i <= len; i ++){
for(int j = 1; j <= len; j ++){
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}
你要的矩阵只需要输入4,就可以输出你要的结果了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询