测试和工作
所有字母都可以用ASCII值表示。
如果你把这个字母转换成一个int,加1,然后转回一个char,那个字母会增加1个ASCII值(下一个字母)。
例如:
‘a’是97
‘b’是98
所以如果输入是’a’,你把它转换成一个int,你会得到97.然后添加1并获得98,然后最后再次转回一个char,得到’b’。
这是一个铸造的例子:
System.out.println( (int)('a') ); // 97
System.out.println( (int)('b') ); // 98
System.out.println( (char)(97) ); // a
System.out.println( (char)(98) ); // b
所以,你的最终代码可能是这样的:
// get first char in the input string
char value = et.getText().toString().charAt(0);
int nextValue = (int)value + 1; // find the int value plus 1
char c = (char)nextValue; // convert that to back to a char
et.setText( String.valueOf(c) ); // print the char as a string
当然,只有一个字符作为输入,这将只能正常工作。