解题思路:
1:将大写字母转化成小写字母,然后向后移一位,有两种思路:
第一种:将得到的字符加1然后转成字符串,最后将字符串转为成小写;
char c = (char) ((chars[i]) + 1); String s = String.valueOf(c).toLowerCase(Locale.ROOT);
第二种 将得到的字符-32直接得到小写的字符
char c = (char) ((chars[i]) + 'b' - 'A');
- 将小写字母转化成相对应的数字
- 数字不变
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Locale; /** * @author Administrator */ public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String str = null; if (null != (str = bf.readLine())) { char[] chars = str.toCharArray(); for (int i = 0; i < chars.length; i++) { if ('A' <= chars[i] && chars[i] < 'Z') { char c = (char) ((chars[i]) + 1); String s = String.valueOf(c); sb.append(s.toLowerCase(Locale.ROOT)); }else if (chars[i] == 'Z') { sb.append('a'); }else if (chars[i] >= 'a' && chars[i] <= 'c'){ sb.append('2'); }else if (chars[i] >= 'd' && chars[i] <= 'f'){ sb.append('3'); }else if (chars[i] >= 'g' && chars[i] <= 'i'){ sb.append('4'); }else if (chars[i] >= 'j' && chars[i] <= 'l'){ sb.append('5'); }else if (chars[i] >= 'm' && chars[i] <= 'o'){ sb.append('6'); }else if (chars[i] >= 'p' && chars[i] <= 's'){ sb.append('7'); }else if (chars[i] >= 't' && chars[i] <= 'v'){ sb.append('8'); }else if (chars[i] >= 'w' && chars[i] <= 'z'){ sb.append('9'); }else { sb.append(chars[i]); } } } System.out.println(sb.toString().trim()); // dkgss87z9u52n9860pt96xsv9d9y5ox17861g6g67o2v87t } }