【问题标题】:How do I pass the array and arrayList to a method? Java如何将数组和 arrayList 传递给方法?爪哇
【发布时间】:2022-11-18 06:36:49
【问题描述】:
public class MyPhone {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ArrayList contacts = new ArrayList();
        String[] calls = new String[10];
    }

    private void addContact() {
       Scanner sc = new Scanner(System.in);
       
       for (int i = 0; i < contacts.size(); i++) {
       contacts.add(sc.nextLine());
       }
    }
    
    private void displayContact() {
       for (int j = 0; j < contacts.size(); j++) {
       System.out.println(contacts.get(j));
       }
    }
}

每次我尝试在未创建数组或数组列表的另一种方法中使用它们时,程序都会说找不到符号。我想像对待联系人一样对待电话。

【问题讨论】:

标签: java methods


【解决方案1】:

在 Java(和大多数其他语言)中,变量只存在于定义它们的范围内。通常,“范围”表示“匹配的大括号之间的区域”

处理这个问题的一种方法是将所有内容提升到外部范围——将它们声明为类成员,并且所有实例(非静态)代码都将能够看到它们。您也可以将它们声明为 static,但这是一个非常糟糕的主意,并且会导致各种混乱。在几乎所有情况下,您应该只将 static 变量用于常量,这些常量的值在您的程序的生命周期内不会改变。

或者,您可以将它们作为参数传递给其他方法。你在 main 方法中看到 String[] args 的地方 - 这是系统传入的 main 方法的参数。所以,你想在你的东西中声明类似的东西。在调用 contacts.get(j) 的地方,j 是传递给 get 方法的参数,因此使用该语法将参数传递给需要它们的函数。

【讨论】:

    猜你喜欢
    • 2018-06-12
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2012-04-09
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    相关资源
    最近更新 更多