有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案