2017-10-02 1 views
-3

프로그래밍과 java를 처음 사용합니다. 나는 아직도 자바를 배우고있다.다음 암호를 디코딩하는 방법

입력 : wrien

출력 : 토굴로 인코딩되는 방법

어윈 다음 제거 나는 아래의 제약으로 나에게 제공되었다 (자바) 납골당을 해결했다 단어의 중앙 문자는 원래 단어를 형성하고 문자가 남아 있지 않을 때까지 단어의 끝에 추가합니다. 단어 길이가 짝수이면 이며, 중간 문자의 왼쪽 문자는입니다. 이 등등 시작에 첨부되어 있으므로 'w'는 상기 경우에서

문자열의 중간이다.

어떻게 든 문자열 즉를 인코딩하는 관리는 wrien어윈 변환하지만 난 그것을 디코딩 할 수 없습니다입니다. 나는 다양한 방법을 시도했지만 그들은 정맥에 갔다. 여기 내가 뭘하려 : [는 Talex의 대답 @를 따라 편집을 할]

String temp = ""; 
    int i = 0; 
    if(text.length() % 2 != 0){ 
    while(i < text.length()){ 
     if((i + 1) % 2 == 0) 
      temp = text.charAt(i) + temp; 
     else 
      temp = temp + text.charAt(i); 

     i++; 
    } 
    System.out.println(temp); 
    } 
    else{//Here it is failing } 

질문이 기준에없는 경우 (내가 사과 그래서 프로그래밍 초보자 오전 토굴을 디코딩 이해 제발 도와주세요 하지만 난 완전히 문제에 붙어있다).

감사합니다.

+1

1) 먼저 말 : "[...] 중간 편지를 제거하고 마지막에 추가". 그러나 또한 여러분은 다음과 같이 말합니다 : "w는 중앙값이므로 [...] 시작 부분에 추가됩니다." 정확한 요구 사항은 무엇입니까? 2) 코드에 정확히 붙어있는 설명이 포함 된 코드는 표시하지 않았습니다. 이 시점에서 귀하의 질문은 명확하지 않고 너무 광범위합니다. – Seelenvirtuose

+0

정확히 무엇을 시도 했습니까 (코드)? 어쩌면 우리는 당신의 실수를 지적 할 수 있습니다. – arminb

+0

@Seenlenvirtuose 이것은 내가 제공 한 것이며 인코딩 및 디코딩 할 코드를 작성해야했습니다. String을 인코딩 할 수는 있었지만 디코딩 할 수는 없었습니다. 그래서 나는 두 가지 방법을 언급했다. 그리고 그걸 디코딩 할 논리를 kknow라고 말했습니다. – NiruADV

답변

4

변수를 가져 와서 빈 문자열로 초기화하십시오. 각 문자에 대한

: 임시 문자열

  • 도 편지 앞에 붙입니다.
  • 홀수 문자가 임시 문자열에 추가됩니다.

코드 :

String tmp = ""; 
bool flag = true; 
for(char c : input.toCharArray()) { 
    if(flag) { 
     tmp = c + tmp; 
    } else { 
     tmp = tmp + c; 
    } 
    flag = !flag; 
} 
+0

Thanks @talex. ** java에서 언급 한 것처럼 임시 문자열을 ** 앞에 붙이는 ** 방법을 쿼리하십시오. 나는 여전히 자바 초보자이므로 미안하다. – NiruADV

+2

앞자리 : temp = x + temp; Append : temp = temp + x; – arminb

+0

감사! arminb 나는이 솔루션을 시도 할 것이다 – NiruADV

관련 문제