我无法使用 JAVA 中的 pow 函数将值插入到矩阵字段中

您好,我使用 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();

        }



        }

}


凤凰求蛊
浏览 137回答 3
3回答

芜湖不芜

在你们的帮助下我终于意识到我做错了什么for (int i=0; i<n; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int j=0; j<n; j++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int value = (int) Math.pow((i+1),(j+1));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(value + "\t");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myMatrix[i][j] = value;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }这是我得到的编辑向大家致以最诚挚的问候

繁星淼淼

尝试将 for 循环更改为:for (int i=0; i<n; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int j=0; j<n; j++){&nbsp;数组中的默认索引从 0 而不是 1 开始,最后一个索引是 length-1。如果您正在访问大小为 n 的数组,则其可能的索引为 - 0,1,2....n-1。如果您尝试访问总行数为 n 的数组/矩阵,则其最后一个索引为 n-1。您的循环读取索引 n,因此会发生 indexoutofbound 错误。

慕容3067478

int&nbsp;[][]&nbsp;myMatrix&nbsp;=&nbsp;new&nbsp;int[n+1][n+1];因为你的循环结束于<=n
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java