我在下面的代码中得到错误,该错误表示“错误:二进制运算符'+'的错误操作数类型 . 错误出现在行 sum+=arr[i]
此代码用于计算整数矩阵的对角线差异
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int a[][] = new int[n][n];
for(int a_i=0; a_i < n; a_i++){
for(int a_j=0; a_j < n; a_j++){
a[a_i][a_j] = in.nextInt();
}
}
Solution solution= new Solution();
solution.diagonalDifference(a,n);
}
public void diagonalDifference(int arr[][],int n){
int sum=0,sum1=0,sum2=0;
for(int i=0; i < n;i++){
for(int j=0; j < n;j++){
if(i==j){
sum1+=arr[i];//calculating sum of primary diagonal
}
}
}
for(int i=0; i < n;i++){
for(int j=n; j >0;j--){
sum2+=arr[i];//calculating sum of secondary diagonal
}
}
sum=Math.abs(sum1-sum2);
System.out.println(sum);
}
}
错误:-
Solution.java:26: error: bad operand types for binary operator '+'
sum+=arr[i];//calculating sum of primary diagonal
^
first type: int
second type: int[]
Solution.java:32: error: bad operand types for binary operator '+'
sum+=arr[i];//calculating sum of secondary diagonal
^
first type: int
second type: int[]
2 errors
1 回答
arr[i]
是一个数组,而不是int .更改
至
您可能还想更改第二个循环的范围(计算辅助对角线):