Java二维数组相加代码报错i variable cannot be resolved to a variable求解
Java二维数组相加代码问题修复
错误原因
- 变量作用域不符合要求:第一个循环中声明的
int i、int j仅在当前循环范围内有效,第二个遍历循环未重新声明i、j变量,直接调用未声明变量触发编译错误。 - 变量名拼写错误:赋值语句中误将
result写为resilt,程序找不到对应变量。 - 数组属性调用错误:内层循环的长度判断未调用
.length属性,且误用了不存在的数组变量arr,两处内层循环均存在该问题。
修复后代码
import java.util.Scanner; public class High { public static void main(String args[]) { int[][] arr1 = {{10,20,40}, {5,40,60}}; int[][] arr2 = {{8,40,20} , {5,4,10}}; int[][] result = {{0,0,0} , {0,0,0}}; for(int i = 0; i < arr1.length; i++){ for(int j = 0; j < arr1[i].length; j++){ result[i][j] = arr1[i][j] + arr2[i][j]; } } for(int i = 0; i < arr1.length; i++){ for(int j = 0; j < arr1[i].length; j++){ System.out.print(result[i][j] + " "); } System.out.println(); } System.out.println(" "); } }
优化说明
修复后新增了元素输出的空格分隔、每行数组输出结束后自动换行,提升结果可读性。Java类名建议遵循大驼峰命名规范,因此将原类名high调整为High。
内容的提问来源于stack exchange,提问作者dinesh_venky
相关产品推荐
相关产品推荐

