【发布时间】:2015-01-06 23:48:31
【问题描述】:
我需要将一组字符转换为字符串。问题是,我不知道没有数组怎么办(禁止使用它们,因为我们还没有看到这个主题)。
所以该方法首先要求用户输入一个单词(字符串类型)。在这种情况下,我以“programma”一词为例。第一步是对该单词的每个字符都计数 +4。在此示例中,它必须从“programma”->“tvskveqqe”更改。
我将输入字符串“programma”拆分为单独的字符,并在 alfabet 中添加了 +4。之后我确定是否使用了字母“wxyz”,将它们转换为 w --> a、x -->b、y --> c 和 z --> d。
但现在我被困在了需要将字符 't''v''s''k''v''e''q''q''e' 放入字符串中“tvskveqqe”,并将其用作返回语句。
谢谢!
public char coderen() {
String str; //input string
char c, e = ' ';
int a = 4, b, d;
System.out.println("Geef een woord in: ");
str = Input.readString(); //input
for (int i = 0; i < str.length(); i++) { // Splits up the string into separate chars
b = (int) str.charAt(i) + a; // +4 in ASCII
c = (char) b;
if (c >= 'e' && c <= 'z') {
e = c;
System.out.println(e);
}
else if (c >= '{' && c <= '~') { // converts 'w''x''y''z' into 'a''b''c''d'
d = (int)c - 26;
e = (char) d;
System.out.println(e);
}
else {
System.out.println("fout!");
}
}
return e;
}
【问题讨论】:
-
处理ij会很有趣。
-
您可以计算正确的字符,而不是使用 if 和 else: int ascii = (int)str.charAt(i); int 替代Ascii = (ascii - 97 + 4) % 27; //'a'的ASCII值== 97
标签: java string char converter