【问题标题】:Passing an array to a Class not just a Method [closed]将数组传递给类而不仅仅是方法[关闭]
【发布时间】:2020-12-22 14:52:15
【问题描述】:

我已经制作了这个示例代码来将一个数组传入和传出一个方法,并在此过程中更改原始数组。

public class ArrayPasserMain {

    public static void main(String[] args) {
        int[] lifegrid = {0,1,2};
        ArrayPass(lifegrid);
        for (int i=0; i<3; i++) {
            System.out.println(lifegrid[i]);
        }
    }

    static void ArrayPass(int grid[]) {
        for (int i=0; i<3; i++) {
            System.out.println(grid[i]); 
            grid[i] = grid[i] + 3;
        }
    }
}

如何在另一个类中编写具有相同结果的方法 ArrayPass、传递数组、更改值并将其传回?

【问题讨论】:

  • 欢迎来到 SO。请阅读How to Ask 并通过格式化您的帖子以获得一个代码块来帮我们一个忙。至于您的问题:您可以使用静态字段并使用方法来访问它们或将它们公开,但不建议这样做。而是看看实例是如何工作的 - 以及如何使用 getter 和 setter。

标签: java arrays class methods


【解决方案1】:

试试:

public class ArrayPasserMain {

    public static void main(String[] args) {
        int[] lifegrid = {0,1,2};
        lifegrid = AnotherClass.changeValues(lifegrid);
    }
}

class AnotherClass {
    static int[] changeValues(int[] grid) {
        for (int i=0; i<grid.length; i++) {
            System.out.println(grid[i]); 
            grid[i] = grid[i] + 3;
        }
        return grid;
    }
}

【讨论】:

  • 试试看,为什么?它修复了 OP 代码中的什么问题,以及如何修复它?
  • 你读过这个问题吗? OP想在另一个类的方法中提取代码。
  • @ChrisT 你可以接受它,在这种情况下。
  • @ChrisT - 我建议你阅读How does accepting an answer work
猜你喜欢
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 2011-08-03
  • 2017-01-03
  • 2010-12-27
  • 1970-01-01
  • 2010-09-07
相关资源
最近更新 更多