簡體   English   中英

在Java中的方法之間共享變量

[英]Share variable between methods in Java

我是Java新手,沒什么問題。 我想用一種方法制作數組,而用另一種方法顯示長度。 我知道如何在一種方法中同時做到:

class Test
{
    public void create()
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Number of elements: ");
        int n=in.nextInt();
        int arr[]=new int[n];
        System.out.println("Number of elements: " + arr.length);
    }
}

但是我該怎么做呢?

class Test
{
    public void create()
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Number of elements: ");
        int n=in.nextInt();
        int arr[]=new int[n];
    }

    public void display()
    {
        System.out.println("Wielkosc tablicy: " + arr.length);
    }
}

arr設為您的類的私有實例變量,以便可以通過任何方法對其進行訪問:

class Test
{
    private int[] arr;
    public void create()
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Number of elements: ");
        int n=in.nextInt();
        arr=new int[n];
    }

    public void display()
    {
        System.out.println("Wielkosc tablicy: " + arr.length);
    }
}

如果陣列只希望呼叫的生命周期內存在create我建議你做display私人。 然后更新顯示的簽名以int []作為參數

class Test {
    public void create() {
        Scanner in = new Scanner(System.in);
        System.out.println("Number of elements: ");
        int n=in.nextInt();
        int arr[]=new int[n];
        display(arr);
    }

    private void display(int[] arr) {
        System.out.println("Wielkosc tablicy: " + arr.length);
    }
}

如果int []的生存期要比create調用的生存期長,則應將int []設置為Test上的字段,如@lodo的答案中所述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM