我在这里很茫然,我要创建一个java程序,它接受一个字符串并用n对字符串进行解码/编码。(它将n加到字符串的字符中,如n = 3 a = c)I buitl“shell”,它将用户带到他希望程序执行的操作,然后我不知道如何使用键对字符串进行编码/解码,它必须考虑大写/小写并忽略特殊符号,如)/! /&“$;:。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
所有帮助表示赞赏!
到目前为止,这是代码! https://gist.github.com/fabiomim/070d1daeee4b604db720adf7c7dff240
(忽略fachklasse中的小咆哮)
答案 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');