题面
可以使用二维数组存储来存储线性方程组的系数与常数。比如,对于如下3元线性方程组 3x+y+z=1 6x+2y+z=-1 -2x+2y+z=7 可以使用二位数组存储 2 1 1 1 6 2 1 -1 -2 2 1 7 编写一个程序可以存储n元线性方程组
输入格式:
整数n,代表n元 n行、每行n+1列线性方程组的系数与常数。系数与常数为double型。
输出格式:
格式化输出二维数组。注意:使用Arrays.deepToString进行格式化输出。 依次输出n行线性方程组的系数与常数。系数以 , 分隔,系数与常数之间以 = 分隔,= 之间有两个空格。
输入样例:
3
2 1 1 1
6 2 1 -1
-2 2 1 7
输出样例:
[[2.0, 1.0, 1.0, 1.0], [6.0, 2.0, 1.0, -1.0], [-2.0, 2.0, 1.0, 7.0]]
2.0, 1.0, 1.0 = 1.0
6.0, 2.0, 1.0 = -1.0
-2.0, 2.0, 1.0 = 7.0
答案
import java
.util
.Arrays
;
import java
.util
.Scanner
;
public class Main {
public static void main(String
[] args
) {
Scanner scanner
= new Scanner(System
.in
);
int n
= scanner
.nextInt();
double[][] arr
= new double[n
][n
+ 1];
for (int i
= 0; i
< n
; i
++) {
for (int j
= 0; j
< n
+ 1; j
++) {
arr
[i
][j
] = scanner
.nextDouble();
}
}
System
.out
.println(Arrays
.deepToString(arr
));
for (int i
= 0; i
< n
; i
++) {
StringBuilder str
= new StringBuilder();
for (int j
= 0; j
< n
; j
++) {
str
.append(arr
[i
][j
]).append(", ");
}
str
.delete(str
.length() - 2, str
.length());
str
.append(" = ").append(arr
[i
][n
]);
System
.out
.println(str
);
}
}
}