华为机试题【6】-大小写转换

时间:2021-03-09 00:50:12

题目描述

输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为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);
}
}

我的微信二维码如下,欢迎交流讨论

华为机试题【6】-大小写转换

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

华为机试题【6】-大小写转换