我是编程和java的新手。我还在学习java。我正在解决一个隐藏(在java中),它提供给我以下约束:
输入: wrien
输出:erwin
如何对密码进行编码:从原始单词中删除单词的中间字母,并将其附加到单词的末尾,直到没有字母为止。如果单词长度均匀,还有一个条件 ,然后选择中位数左侧字母。
在上述情况下,' w' 是字符串的中位数,因此它会附加在开始,依此类推。
我以某种方式设法对String进行编码,即将 erwin 转换为 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 }
请帮助我理解解码隐藏(我是编程的初学者,如果问题不符合标准,我会道歉,但我完全坚持这个问题)。
谢谢
答案 0 :(得分:4)
获取临时变量并使用空字符串初始化它。
每封信:
代码段:
String tmp = "";
bool flag = true;
for(char c : input.toCharArray()) {
if(flag) {
tmp = c + tmp;
} else {
tmp = tmp + c;
}
flag = !flag;
}