2014-10-05 63 views
0

所以起初我在main方法裏面做了我的代碼,我想把它分成幾個無效的方法來使它整齊。但這裏是我的問題,我在main方法中聲明的一些變量,而不是實例變量。如何解決這個問題?如何從其他方法訪問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; 
      } 
     } 
    } 
} 

它給了我錯誤的輪胎不能被解析爲一個變量

+1

請標記您想要的編程語言。 – Tiny 2014-10-05 08:20:44

+1

如果是Java,我敢肯定你不能這麼做 - 至少這就是本地變量的工作原理。儘管你的選擇很少 - 就像將這些變量作爲參數傳遞給其他方法一樣,當然,正如你所說的那樣,將它們聲明爲實例/類變量。 – 2014-10-05 08:23:03

+0

是的,它是java。所以我需要傳遞參數給我的方法,如果我想使用該變量?我不能聲明它作爲實例變量,因爲在main方法中有很多計算和函數,直到我得到輪胎[]數組 – Karshzz 2014-10-05 08:55:09

回答

0

功能parameteres用於這樣的事情。看一個例子

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功能塊梅開二度。

+0

謝謝,雖然,我誤了它 – Karshzz 2014-10-05 08:55:42

相關問題