您好,我使用 pow 函数对矩阵中的输入值进行赋值,其中行是列的幂。 我们应该通过获取行号和列的幂来获取字段的值,例如,如果我们位于第 3 行和第 2 列,我们应该得到值 9所以这是我的代码,我不明白为什么会出现此错误: 错误 `public static void main(String args[]) { int n = (int)(Math.random()*100) % 10; System.out.println(n); if(n == 0 || n == 10){ System.out.println("The program needs a number between 1 and 10"); System.exit(0); } //int [] myArray = new int[n]; int [][] myMatrix = new int[n][n]; for (int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ int value = (int) Math.pow(i,j); myMatrix[i][j] = value; System.out.print(myMatrix[i][j] + "\t"); } System.out.println(); } }}
3 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
在你们的帮助下我终于意识到我做错了什么
for (int i=0; i<n; i++){
for(int j=0; j<n; j++){
int value = (int) Math.pow((i+1),(j+1));
System.out.print(value + "\t");
myMatrix[i][j] = value;
}
这是我得到的编辑
向大家致以最诚挚的问候
繁星淼淼
TA贡献1775条经验 获得超11个赞
尝试将 for 循环更改为:
for (int i=0; i<n; i++){
for(int j=0; j<n; j++){
数组中的默认索引从 0 而不是 1 开始,最后一个索引是 length-1。如果您正在访问大小为 n 的数组,则其可能的索引为 - 0,1,2....n-1。如果您尝试访问总行数为 n 的数组/矩阵,则其最后一个索引为 n-1。您的循环读取索引 n,因此会发生 indexoutofbound 错误。
添加回答
举报
0/150
提交
取消