使用x个字符对字符串进行编码/解码,因子为n。 【JAVA]

时间:2016-11-25 14:17:53

标签: java

我在这里很茫然,我要创建一个java程序,它接受一个字符串并用n对字符串进行解码/编码。(它将n加到字符串的字符中,如n = 3 a = c)I buitl“shell”,它将用户带到他希望程序执行的操作,然后我不知道如何使用键对字符串进行编码/解码,它必须考虑大写/小写并忽略特殊符号,如)/! /&“$;:。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

所有帮助表示赞赏!

到目前为止,这是代码! https://gist.github.com/fabiomim/070d1daeee4b604db720adf7c7dff240

(忽略fachklasse中的小咆哮)

1 个答案:

答案 0 :(得分:1)

一些提示:

您可以使用字符串的charAt(int)toCharArray()方法获取字符:

String string = ...
char ch = string.charAt(i);
// or
char[] characters = string.toCharArray();
char ch = characters[i];

char是一个整数类型,也就是整数类型,你可以对它进行算术运算,如比较,加法,减法:

char ch = ...
if (ch >= 'a' && ch <= 'z') {
    // do something it the char is between 'a' and 'z'
    ch += 3;  // 'a' will become 'd', 'z' will be '}'!!!!
    if (ch > 'z') {
        // handle overflow like subtracting 'z'+1 - 'a'
    }
}

要从char数组创建String,您可以使用:

String result = new String(characters);

请注意,char不是int,您需要使用强制转换将其分配给char变量:

ch = ch + 3;  // ERROR since "ch + 3" is an int
ch = ch + 'a';  // ERROR the result of + is still an int!
ch = (char) (ch + 3);
ch = (char) (ch + 'a');