2010-12-12 2 views
2
I는 int[]b 다음 int[] Per의 배열을 만들어 가지고 b 각 인덱스 i 복용하여 기입이 방법을 써서 값 당 새로운 배열의 지표로 할하기 int 값을 리턴하기 위해 다른 방법을 사용

b[i]인데, 작고 어리석은 문제는 라인 을 찾을 수 없다는 것입니다. Per [index-1]= b[i]; 내가이 줄을 이해하지 못하는누락 변수

public static int [] intial(int [] b) 
     { 
      int [] Per =new int [64]; 
      int index; 
      for(int i=0;i<b.length;i++) 

       index=itable(i); 
       Per [index-1]= b[i]; 


      return Per; 
     } 
+3

규칙은 소문자로 변수를 시작하는 것입니다. 그냥 언급 :) :) –

+0

IDE를 자동으로 텍스트를 자동 서식을 지정 습관에 들어요. – CodesInChaos

답변

0

어떤 생각 : 인수로 주어진 변수를 숨기고,

int index, b; 

당신이 "B"라는 이름의 두 번째 변수를 만드는을 (INT [] B).

변수 이름의 처음에는 소문자를 사용하십시오. "Per"는 혼란 스럽습니다. 클래스 이름이라고 생각했습니다. 대신 "per"를 사용하십시오. 여기

당신이하고있는 일의 더 나은 버전입니다 : 당신이 다시이기 때문에

public static int [] intial(int [] b) 
{ 
    int [] per = new int [64]; 
    for(int i=0; i<b.length; ++) 
     per [itable(i)-1]= b[i]; 

    return per; 
} 
+0

죄송합니다. 두 번째 b는 오타입니다. – Gain

0
public static int [] intial(int [] b) { 
    int[] Per = new int[64]; 
    int index,b; 
    for (int i=0; i<b.length; i++) { 
     index=itable(i); 
     Per[index-1] = b[i]; 
    } 
    return Per; 
} 
0

나는 완전히 당신이 달성하려고하는지 이해하지 않는다, 그러나 당신이 점점 오류입니다 변수 b을 선언합니다. 만약 당신이 당신의 메서드 b에 매개 변수의 이름뿐만 아니라, b라는 int 변수를 선언 볼 수 있습니다. 이것을 컴파일하려면 메소드 매개 변수 또는 로컬 변수의 이름을 바꿔야합니다.

또한 로컬 변수 Per [index-1]= b[i];을 참조하려는 경우 해당 선언을 int 배열로 변경해야합니다.

+0

두 번째 b는 오타였습니다. – Gain

0

EDIT : 질문을 편집 한 후 잘 모르겠습니다.

많은 문제가 있습니다.

public static int [] intial(int [] b) 
    { 
     int Per []=new int [64]; 
     int index, b; // b is redefined 

     for(int i=0;i<b.length;i++) 
      index=itable(i); // what is itable??? 
      Per [index-1]= b[i]; // what is index?? 


     return Per; 
    } 
0
public static int [] intial(int [] b) 
     {  
      int [] Per =new int [64]; 
      int index; // varible b was atypo 
      for(int i=0;i<b.length;i++){ //here was the error because i did not wrote {} 

       index=itable(i); //method returns int value less than 64 
       Per [index-1]= b[i]; } 


      return Per; 
     } 
0
public static int[] intial(int[] b) { 
    int[] Per = new int[64];  
    for(int i = 0; i < b.length; i++) 
     Per[itable(i)-1] = b[i];  
    return Per; 
    } 
1

변경

for(int i=0;i<b.length;i++) 

    index=itable(i); 
    Per [index-1]= b[i]; 

에 루프의 중괄호 { } 컴파일러를 만들 단지의 본문으로 첫 번째 줄을 고려 포함하지

for(int i=0;i<b.length;i++) { 
    index=itable(i); 
    Per [index-1]= b[i]; 
} 

반복 이후로 i은 볼 수없는 루프 변수입니다. 중괄호를 포함 시키면 모든 것을 변경하고 두 문을 루프 본문의 일부로 만듭니다.

관련 문제