gpt4 book ai didi

Java - 出现编译错误,不兼容的类型 int 无法转换为 [][]

转载 作者:行者123 更新时间:2023-12-02 02:53:31 27 4
gpt4 key购买 nike

无法理解编译错误。 Main 应保持不变。我相信MakeandFillMatix方法是问题,我无法弄清楚。我认为这就是我创建该方法的方式。

import java.util.*;
/*

*/
public class TesterProject
{
public static void main(String [] args)
{
int n = getMatrixSize();
int[][] m = makeAndFillMatrix(n);
printMatrix(m);
}
public static int getMatrixSize()
{
Scanner S = new Scanner(System.in);

System.out.println("give me a int to create the matrix");
int n = S.nextint();
return n;
}
public static void makeAndFillMatrix(int [][] r)
{
Random generator = new Random(5);
int rand = generator.nextInt(10);
for(int i = 0; i < r.length; i++)
{
for(int j = 0; j < r; j++)
{
r[i][j]= rand;
}
}
return r;
}
public static void printMatrix(int [][] matrix)
{
for(int r = 0; r < matrix.length; r++)
{
for(int c = 0; c < matrix[r].length; c++)
{
System.out.print(matrix[r][c] + " ");
}
System.out.println();
}
}
}

最佳答案

提示

您的代码中有很多问题:

  1. int n = S.nextint();应该是int n = S.nextInt();与上I
  2. 不能将 int 与数组进行比较 for (int j = 0; j < r; j++) {我想你需要这个 for (int j = 0; j < i; j++) {
  3. void makeAndFillMatrix(int[][] r)它不返回任何东西,你最终返回一个数组。
  4. makeAndFillMatrix(int[][] r)采用 2D 数组而不是 int int[][] m = makeAndFillMatrix(n);

解决这个问题,你的问题就解决了:)

<小时/>

编辑

然后你必须将代码更改为如下所示:

public static void main(String[] args) {
int n = getMatrixSize();
int[][] m = makeAndFillMatrix(n);//<<<----Problem 4
printMatrix(m);
}

public static int getMatrixSize() {
Scanner S = new Scanner(System.in);

System.out.println("give me a int to create the matrix");
int n = S.nextInt();//<<--------------Problem 1
return n;
}

public static int[][] makeAndFillMatrix(int n) {//<<<---Problem 3
Random generator = new Random(5);
int[][] r = new int[n][n];
int rand = generator.nextInt(10);
for (int i = 0; i < r.length; i++) {
for (int j = 0; j < i; j++) {//<<<-----------Problem 2
r[i][j] = rand;
}
}
return r;
}

public static void printMatrix(int[][] matrix) {
for (int r = 0; r < matrix.length; r++) {
for (int c = 0; c < matrix[r].length; c++) {
System.out.print(matrix[r][c] + " ");
}
System.out.println();
}
}

关于Java - 出现编译错误,不兼容的类型 int 无法转换为 [][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43435057/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com