【问题标题】:How to access array or variable inside main method from other method?如何从其他方法访问主方法内的数组或变量?
【发布时间】:2014-11-29 19:22:01
【问题描述】:

所以一开始我在 main 方法中编写了代码,我想将它分成几个 void 方法以使其整洁。但这是我的问题,我在 main 方法中声明的一些变量,而不是实例变量。如何解决?

public static void main(String[] args){

    String[] allcars = args;

    String[] car1 = allCars[0].split("(?!^)");
    String[] car2 = allCars[1].split("(?!^)");

    String[] tire = {car1[0], car2[0]};
    String[] color = {car1[1], car2[1]};

public static void myMethod(){
    for (int i = 0; i <= tire.length-2; i++){
        for (int j = i+1; j < tire.length; j++){
            if ((tire[i]).equals(tire[j])){
                value += 2;
            }
        }
    }
}

它给我错误轮胎无法解析为变量

【问题讨论】:

  • 请标记您想要的编程语言。
  • 如果是 Java,我敢肯定你不能这样做——至少局部变量是这样工作的。不过,您几乎没有选择 - 比如将这些变量作为参数传递给您的其他方法,或者当然,如您所说,将它们声明为实例/类变量。
  • 是的,它是 java。所以如果我想使用那个变量,我需要将参数传递给我的方法吗?我不能将它声明为实例变量,因为在我得到轮胎 [] 数组 之前,主方法中有很多计算和函数

标签: java variables methods main


【解决方案1】:

函数参数用于此类事情。看个例子

public static void myMethod(String[] tire);

public static void main(String[] args){

    String[] allcars = args;

    String[] car1 = allCars[0].split("(?!^)");
    String[] car2 = allCars[1].split("(?!^)");

    String[] tire = {car1[0], car2[0]};
    String[] color = {car1[1], car2[1]};

    myMethod(tire);
}

顺便说一句,您的代码有语法错误 - 您忘记关闭 main 功能块大括号。

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    相关资源
    最近更新 更多