Java 如何解码下面的密码

Java 如何解码下面的密码,java,encryption,decode,Java,Encryption,Decode,我是编程和java新手。我还在学java。我正在解决一个密码(java),它提供给我的约束条件如下: 输入: 拧 产出:埃尔文 密码的编码方式:从原始单词中删除单词的中间字母,并将其附加到单词的末尾,直到没有字母为止。还有一个条件如果单词长度为偶数,则选择中间字母的左边 在上述情况下,'w'是字符串的中位数,因此它被附加在开始处,依此类推 我设法对字符串进行了编码,即将erwin转换为wreen,但我无法解码它。我试过各种方法,但都很成功。 以下是我的尝试:[根据@Talex的答案编辑 S

我是编程和java新手。我还在学java。我正在解决一个密码(java),它提供给我的约束条件如下:

输入: 拧

产出:埃尔文

密码的编码方式:从原始单词中删除单词的中间字母,并将其附加到单词的末尾,直到没有字母为止。还有一个条件如果单词长度为偶数,则选择中间字母的左边

在上述情况下,'w'是字符串的中位数,因此它被附加在开始处,依此类推

我设法对字符串进行了编码,即将erwin转换为wreen,但我无法解码它。我试过各种方法,但都很成功。 以下是我的尝试:[根据@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 }
String temp=”“;
int i=0;
如果(text.length()%2!=0){
而(i
请帮助我理解密码的解码(我是一名编程初学者,所以如果问题不符合标准,我深表歉意,但我完全被困在这个问题上)


谢谢

获取临时变量并用空字符串初始化它

每封信:

  • 偶数字母前置到临时字符串
  • 附加到临时字符串的奇数字母
代码段:

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

1) 首先,你说:“删除中间字母[…],并将其附加到末尾”。但是你也会说:“'w'是中位数[…],所以它被附加在开头”。那么,确切的要求是什么?2) 您没有向我们显示任何代码,并说明您的代码中的具体位置。在这一点上,您的问题既不清楚又过于宽泛。您到底尝试了什么(代码)?也许我们可以指出你的错误。@seenEnvirose这就是我所得到的,我必须编写编码和解码的代码。我能够对字符串进行编码,但无法对其进行解码。所以我提到了两种方式。我提到我只是想知道解码itThanks@talex的逻辑。正如您在java中提到的,只需一个查询,就可以知道如何在临时字符串前加前缀。我仍然是java的初学者,所以很抱歉这样做:temp=x+temp;附加:temp=temp+x;谢谢arminb我将尝试这个解决方案,这是一种最有效的技术,先生(@talex)+1美元。