首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Java的矩阵自动创建器

基于Java的矩阵自动创建器
EN

Stack Overflow用户
提问于 2020-08-26 03:03:54
回答 2查看 56关注 0票数 0

我想在自动例程(取决于输入)上创建二维矩阵,然后让它们返回以查看结果。

下面是我的代码:

代码语言:javascript
复制
public class Two_dimensional_arrays {

    static int[][] array1;

    public static int[][] create_array(int number1, int number2) {
        int k = 1;
        for (int j = 0; j <= number2; j++) {
            for (int i = 0; i <= number1; i++) {

                array[i][j] = k;
                k++;
            }
        }

        return array1;
    }
}

所有这一切背后的逻辑是按如下顺序填充任何矩阵(让我们做一个3x3的矩阵)

代码语言:javascript
复制
1-2-3

4-5-6

7-8-9

因此,矩阵将自动填充(按升序),但它不会像预期的那样工作,因为我是编程新手。

EN

回答 2

Stack Overflow用户

发布于 2020-08-26 03:12:27

您必须将数组实际分配到某个地方。

代码语言:javascript
复制
 static int[][] array1;

它声明了一个能够保存数组引用的变量;它不是数组。该数组由“new”分配:

代码语言:javascript
复制
 static int[][] array1 = new int[3][3];

其他几点:

数组循环中的‘’可能应该是‘

  1. 1’。

  1. 因为'array1‘是一个成员变量,所以也没有必要返回它。您可以选择任何一种方法:像现在一样只有一个数组,create_array方法每次都会覆盖它;或者让create_array分配一个预期大小的数组(new int[number1][number2])并返回它。我会选择后者。

参数的名字可以更好:'row_count‘而不是’1‘,'column_count’而不是'number2‘--或者任何类似的表达原意的东西。(通常Java程序员使用驼峰大小写的名称,如rowCount,而不是下划线,但这不是一个特别有趣的讨论,也不是我在这里的重点)。

票数 2
EN

Stack Overflow用户

发布于 2020-08-26 03:17:20

代码语言:javascript
复制
public class Two_dimensional_arrays {
    
    public static int[][] create_array(int number1, int number2){
        int[][] matrix = new int[number1][number2];
        
        int k = 1;
        
        for(int i = 0; i<number1; i++){
            for(int j = 0; j<number2; j++){
                matrix[i][j] = k;
                k++;
            }
        }
        
        return matrix;
    }
    
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63585531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档