如何从其他方法访问主方法内的数组或变量?
Posted
技术标签:
【中文标题】如何从其他方法访问主方法内的数组或变量?【英文标题】: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。所以如果我想使用那个变量,我需要将参数传递给我的方法吗?我不能将它声明为实例变量,因为在我得到轮胎 [] 数组 之前,主方法中有很多计算和函数 【参考方案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
功能块大括号。
【讨论】:
以上是关于如何从其他方法访问主方法内的数组或变量?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用正则表达式或任何其他方法在 PL/SQL 中提取单引号内的字符串 [重复]