java - 传递和修改全局数组

标签 java arrays

注意

这是在检查 StackOverflow 之前未彻底调试代码的示例。代码中其他地方的错误导致这部分失败。这里的东西并没有什么真正的“错误”……所以,请随意使用这个作为例子。不需要进一步的答案:) 谢谢!

这是一些代码:

public static int[] code = new int[95];

//main method, array is populated with other methods, etc...

checkOrientation(code);

public static void checkOrientation(int[]code) {
        if (code[4] != 0) {
            System.out.println("Upside down!");
            for (int i = 4; i < code.length-6; ++i) {
                if (code[i] == 1) {
                    code[i] = 0;
                } else {
                    code[i] = 1;
                }
            }
        }
    }

我想知道如何传递该全局数组并修改它。因此,目标是代码可重用性,我可以将任何数组传递给此方法并使其工作。

也许我需要让它返回一个数组并将其分配给一个新数组?我不想创建更多数组,我的代码已经因为各种突变的数组副本而变得有点臃肿。

另外:暂时远离 ArrayList,所以我不会使用它们。

如有任何建议,我们将不胜感激:)

澄清:
这段代码的作用是翻转位...所以如果数组元素 [5] 是 1,它将数组元素 [5] 更改为 0,反之亦然。因此,我想将其保留在同一个数组中,因为它的大小不会改变,并且我不再需要原始数组。

最佳答案

您在这里所做的是通过使用同名的函数参数来隐藏您的全局变量code。在您的函数中,code 将引用传递的参数,而不是全局变量。由于变量具有全局范围,因此您不需要将其作为参数传递给函数。

关于java - 传递和修改全局数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22388050/

相关文章:

c - 使用指针变量分配数组元素值时,第三个数组元素不会打印出来

java - JPanel setBackground(Color.BLACK) 什么都不做

java - 如何在for循环中定义和设置TextView以简洁代码?

arrays - 从数组中随机选择一个对象,而不在一行中重复对象而不删除

java - 使用异常处理分配数组值

java - 在 Java 中将类似数组的 String 转换为 ArrayList

来自字符串的 Java 正则表达式

java - 当 HTTP 为 1.1 时,HTTP GET 请求在 java 中不起作用?

java - 尝试使用 Hudson 运行 Selenium 测试 - "Error: no display specified"

c# - .net mvc 从 Controller 发送混合类型的 json