2014-02-15 4 views
1

입력 한 문자열 (특히 args [x])의 각 문자를 대체하는 프로그램에 문제가 있습니다.다음 charAt()로 이동

문자열의 첫 번째 문자를 가져올 수 있지만 어떻게 해야할지 모르는 것은 다음 문자로 이동하는 것입니다. 아래의 "ctr ++"를 시도했지만 문자열의 첫 번째 문자 만 반복합니다.

결과는 다음과 같습니다
문자열 : AEI
해독 : ZZZ

I는 필요한 것 : 여기 내 코드의 세그먼트의 ZYX

:


문자열 : AEI
암호 해독
for(int a = 0; a < len; a++) 
       { 
        args[x].charAt(ctr); 
        switch (letter) 
         { 
          case 'a': System.out.print("Z"); break; //1 

          case 'e': System.out.print("Y"); break; //2 

          case 'i': System.out.print("X"); break;  //3 

          case 'o': System.out.print("W"); break; //4 

          case 'u': System.out.print("V"); break; //5 

          case 'A': System.out.print("z"); break;  //6 

          case 'E': System.out.print("y"); break;  //7 

          . 
          . 
          . 
          . 
         } 
         ctr++; 
        } 

누구나 도움이 될 수 있습니다.

+0

어디에서'letter'를 할당하고 있습니까? –

+0

argen [x]에 'len', 'x'가 무엇인지 명시 해주십시오.이 'letter'는 어디에서 왔습니까? –

답변

2

자, 문제는 letter의 값을 절대 변경하지 않는다는 것입니다. args[x].charAt(ctr)letter = args[x].charAt(ctr)으로 대체해야합니다.

+0

이렇게했습니다! 편지가 다른 반에 있었기 때문에 값이 변할 것이라고 생각했습니다. 고마워요! – user3313601

+0

'charAt()'를 호출하면 아무런 변화가 없습니다. 단지 캐릭터를 얻는 것뿐입니다. 해당 문자에 대해 아무 것도하지 않으면 (예 : 변수에 저장하거나 다른 함수에 전달)이 메서드는 문자 그대로 아무것도하지 않습니다. –

0
String str = "aei"; 
     for(int a = 0; a < str.length(); a++) 
     { 
      char letter = str.charAt(a); 
      switch (letter) 
       { 
        case 'a': System.out.print("Z"); break; //1 

        case 'e': System.out.print("Y"); break; //2 

        case 'i': System.out.print("X"); break;  //3 

        case 'o': System.out.print("W"); break; //4 

        case 'u': System.out.print("V"); break; //5 

        case 'A': System.out.print("z"); break;  //6 

        case 'E': System.out.print("y"); break;  //7 

       } 
      } 

시도해보십시오. 행운을 빌어 요

1

전체 코드를 게시하지 않았으므로 달성하려는 대상이 명확하지 않습니다. 하지만이 도움이 될만한 어떤 것

public class StackOverflow { 

public StackOverflow(){ 

} 
public static void main(String[] args){ 

    for(int x = 0, len = ((String)args[0]).length(); x < len; x++) 
      { 
       char letter = args[0].charAt(x); 

       switch (letter) 
        { 
         case 'a': System.out.println("Z"); break; //1 

         case 'e': System.out.println("Y"); break; //2 

         case 'i': System.out.println("X"); break;  //3 

         case 'o': System.out.println("W"); break; //4 

         case 'u': System.out.println("V"); break; //5 

         case 'A': System.out.println("z"); break;  //6 

         case 'E': System.out.println("y"); break;  //7 

        } 
       } 
    } 
}