Java将N距离添加到字符串
我是Java世界的新手,我正在努力解决以下问题:
我目前正在尝试编辑一个编码,在该编码中,给定一个字符串,将进行以下更改:
- 如果是大写,则将其更改为小写,反之亦然
- 对应的字符串对应于距离N个位置的另一个字符串
我写了以下内容:
private static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
public String code(String text, int distance) {
// cambio mayus <-> minus
StringBuilder sb = new StringBuilder(text);
for (int index = 0; index < sb.length(); index++) {
char c = sb.charAt(index);
if (Character.isLowerCase(c)) {
sb.setCharAt(index, Character.toUpperCase(c));
} else {
sb.setCharAt(index, Character.toLowerCase(c));
}
}
// comparison string to ALPHABET
for (int i = 0; i < sb.length(); i++) {
for (int j = 0, j < ALPHABET.length(); j++) {
//tiene en cuenta mayusculas y minusculas
if (sb[i] == ALPHABET[j] && sb[i] == ALPHABET[j].toUpperCase()) {
// adds the distance
sb[i] = ALPHABET[j+distance];
}
}
}
return sb;
}
到目前为止,我怀疑是否做得很好,我不知道如何处理ALPHABET
具有循环行为的问题,我的意思是,如果距离N大于26,从“z”,将再次转到“a”,这是我不知道如何表达的
你会怎么做? 提前谢谢你
共 (0) 个答案