2014-10-05 3 views
0

그래서 처음에는 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; 
      } 
     } 
    } 
} 

는 같은 것을 사용되는 변수

+1

의도 한 프로그래밍 언어에 태그를 지정하십시오. – Tiny

+1

Java 인 경우 로컬 변수가 작동하는 것 이상으로는 할 수 없다고 확신합니다. 몇 가지 옵션이 있습니다. 다른 변수에 인수로 이러한 변수를 전달하거나 물론, 인스턴스/클래스 변수로 선언 할 수 있습니다. –

+0

예 자바입니다. 그래서 변수를 사용하려면 인수에 인수를 전달해야합니다. 내가 타이어를 얻을 때까지 main 메소드에서 많은 계산과 함수가 있기 때문에 인스턴스 변수로 선언 할 수 없다. 배열 – Karshzz

답변

0

기능 parameteres에 확인할 수 없습니다. BTW 예를 들어

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

감사하지만, 나는 그것을 miscopy – Karshzz

관련 문제