题目描述
输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V~Z, 则转换为对应小写字母的值减21。其他字符不变,输出转换
思路:
- 首先对于字符串的输入采用Scanner.next()方法
- 大写字母 = 小写-32
注意:
- 对于条件的判断:‘A’ <= a <= ‘U’,是不合法的,写为’A’ <= a && a <= ‘U’
- 对于char做了加减运算之后,会默认转化位int型,需要强制类型转换为char类型,a = (char)a + 32
- 另外char数组和字符串之间的转化,char【】 = String.toCharArray(),String a = new String(char[]); -
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
String a = scan.next();
System.out.println(change(a));
}
}
public static String change(String a){
char[] upper = a.toCharArray();
for(int i = 0;i < upper.length;i++){
if('A'<= upper[i] && upper[i] <= 'U'){
upper[i] = (char) (upper[i]+37);
}
if('V'<=upper[i] && upper[i] <= 'Z'){
upper[i] = (char) (upper[i]+11);
}
}
return new String(upper);
}
}