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

题目描述

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

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

微信订阅号二维码如下:

华为机试题【6】-大小写转换_第2张图片

你可能感兴趣的:(面试,华为,大小写,机试)