我在弄清楚如何让我的代码递增用户输入的字符串时遇到了问题,这样当用户选择替换像z这样的字母时,它将转到a,b到c等等。问题是我必须在不使用布尔值的情况下这样做。我应该通过使用算术从用户输入中获得从z到a的提升来获得此结果。加号只能是a-z的小写字母。任何帮助都将不胜感激。
发布于 2011-01-15 14:20:22
String s = "q";
char c = s.charAt(0);
c++;
//here you can handle cases like z->a
if (c=='z') c = 'a';
char[] chars = new char[1];
chars[0] = c;
String s1 = new String(chars);
发布于 2011-01-15 14:54:34
还有另一种选择,将==
测试隐藏在开关中:
public static void main(String[] args)
{
char[] chars = {'a','k','f','z'};
for (char letter : chars) {
char next = letter;
switch (next) {
case 122: // or 'z', either way
next ='a';
break;
default:
next += 1;
}
System.out.println(letter + " is followed by " + next + " ");
}
}
发布于 2011-01-15 14:27:03
Map<Character, Character> s = new HashMap<Character, Character>();
s.put('a', 'b');
...
s.put('z', 'a');
String s = "q";
char c = s.charAt(0);
c = s.get(c);
char[] chars = new char[1];
chars[0] = c;
String s1 = new String(chars)
;
https://stackoverflow.com/questions/4698290
复制相似问题