java 如何更新一个方法中的数组,以便另一个方法中的数组可以相应地执行

lx0bsm1f  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(125)

我构建的Java代码有两个方法,其中有3个数组,第一个方法的3个数组在调用后会相应地更新,调用第二个方法后,第一个方法中发生的更改不会在第二个方法中表示。
例如:

public class ticket_reservation {

    public static int [][] method1(){
        int [] array1 = { 1, 2, 3};
        int [] array2 = { 4, 5, 6, 7};
        int [] array3 = { 8, 9, 10, 11, 12};

        //code that involve the above 3 arrays

        int [][] array = { array1, array2, array3};
    
        return array;
    }

    public static int [][] method2(){
        int [] array1 = { 1, 2, 3};
        int [] array2 = { 4, 5, 6, 7};
        int [] array3 = { 8, 9, 10, 11, 12};
    
        //code that involve the above 3 arrays
    
        int [][] array = { array1, array2, array3};
    
        return array;
   }

    public static void main(String [] args) {
        int [] array1 = { 1, 2, 3};
        int [] array2 = { 4, 5, 6, 7};
        int [] array3 = { 8, 9, 10, 11, 12};

        int [][] method1_array = method1();

        //code to make the 2D method1_array into 3 single dimention arrays
    
        int [][] method2_array = method2();
    
        //code to make the 2D method2_array into 3 single dimention arrays
    
        //this is where the problem arise. as the changes i made in the first method don't 
        //show in the second method
   }
}

我发现很难在这里找到解决方案,因为我希望我在第一个方法中所做的更改也能在第二个方法中进行。我试图在不使用数组的情况下用方法编写代码,但发现很困难。

wlp8pajw

wlp8pajw1#

如果阵列是一个共享资源,那么你就需要共享它们。你可以用很多方法来实现这一点。

  • 您也可以将数组定义为静态的,然后在静态方法中使用它。
  • 您可以将数组定义为示例变量,在驱动程序中示例化一个示例(例如main),并使用类示例。
  • 您可以在main方法中定义数组,然后将其作为参数传递给使用它的那些方法。

相关问题