题目
要求将输入的大写字母转成对应小写的后5个,如A转换后为f;如果转换后大于z则从a重新计,即多出1就转成a,多出2就转成b以此类推。
解题
解题思路:假设输入'Z':'Z'-'A' = 25;25 + 5 = 30('E');30 % 26 = 4
(>字母总数26,要从头计数); 'a' + 4 = 'e'
; %26:26个英文字母,计算:与26取余多少。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public class Test1 {
public static void main(String[] args) {
System.out.println(t('B'));
}
/**
* 假设输入'Z': 'Z' - 'A' = 25; 25 + 5 = 30; 30 % 26 = 4 (>字母总数26,要从头计数); 'a' + 4 = 'e';
%26:26个英文字母,计算+5之后是多少。
* @param sour
* @return
*/
public static char t(char sour) {
if ('A' > sour || 'Z' < sour) {
}
return (char) ((sour - 'A' + 5) % 26 + 'a');
}
}