【发布时间】:2015-10-12 21:22:18
【问题描述】:
我正在写一个凯撒加密方法。对于原始字符串的每个字符,我希望我的方法将字符移动三个。例如,“A”转移到“D”等等。现在我想将所有移位的字符组合成一个字符串(加密消息)并返回它。
我如何编写语句来组合字符然后返回它。
【问题讨论】:
-
如果您删除代码,答案没有任何意义。
标签: java
我正在写一个凯撒加密方法。对于原始字符串的每个字符,我希望我的方法将字符移动三个。例如,“A”转移到“D”等等。现在我想将所有移位的字符组合成一个字符串(加密消息)并返回它。
我如何编写语句来组合字符然后返回它。
【问题讨论】:
标签: java
您必须连接所有字符以形成一个字符串。然后返回字符串。
首先你声明一个字符串对象:
String result ="";
在 for 循环中,在 if-else 语句之后,将移位后的字符添加到结果字符串中:
result = result + t;
然后最后(在 for 循环之外)返回结果字符串:
return result;
如果你想使用 StringBuilder:
创建一个 StringBuilder 对象:
StringBuilder builder = new StringBuilder();
附加字符:
builder.append('a'); 或
char t = 'b';
builder.append(t);
转换为字符串并返回:
return builder.toString();
【讨论】:
StringBuilder 在循环内连接字符串,以避免创建多个 String 实例造成性能损失。
要返回加密消息,您可以使用该消息递归调用您自己的方法。确保您有条件何时应该返回null(或者在这种情况下是您自己的消息)。
您的循环的一个小问题是您只是将 char t 移动但不替换为字符串或返回字符串。您应该将结果存储在某个地方。
【讨论】: