我有这个简单的方法打印二维数组:
public static void printtda() {
int[][] temps = { {27,28,26,29,30}, {26,25,25,37,40} };
for (int i=0; i<temps.length; i++) {
for (int g=0; g< temps[i].length; g++) {
System.out.print(temps[i][g] +" ");
}
System.out.println();
}
}
我现在正在寻找的是打印每行平均值的方法,因此 27,28,26,29,30 和 26,25的平均值,25,37,40 即可。
任何回复都非常感谢。
答案 0 :(得分:2)
你应该在循环每个数组时创建一个总和:
In [1]: x = MatrixSymbol('x', 2, 2)
In [2]: P = x**2 - 3*x + 5*eye(2)
In [3]: P
Out[3]:
2
⎡5 0⎤ + -3⋅x + x
⎢ ⎥
⎣0 5⎦
In [4]: A = Matrix([ [1,3], [-1,2] ])
In [5]: P.subs(x, A)
Out[5]:
2
⎡5 0⎤ + -3⋅⎡1 3⎤ + ⎛⎡1 3⎤⎞
⎢ ⎥ ⎢ ⎥ ⎜⎢ ⎥⎟
⎣0 5⎦ ⎣-1 2⎦ ⎝⎣-1 2⎦⎠
In [6]: P.subs(x, A).doit()
Out[6]:
2
⎡2 -9⎤ + ⎛⎡1 3⎤⎞
⎢ ⎥ ⎜⎢ ⎥⎟
⎣3 -1⎦ ⎝⎣-1 2⎦⎠
答案 1 :(得分:1)
您可以使用java 8 IntStream
:
public static void printtda() {
int[][] temps = { {27,28,26,29,30}, {26,25,25,37,40} };
for (int i=0; i<temps.length; i++) {
for (int g=0; g< temps[i].length; g++) {
System.out.print(temps[i][g] +" ");
}
double avg = IntStream.of(temps[i]).avarage().getAsDouble();
System.out.println("The avarage is: " + avg);
System.out.println();
}
}