华为OJ-元辅音大小写转换

元音字母(a,e,i,o,u)都写成大写,辅音都写成小写。

要求
  输入一个字符串S(长度不会超过100,只包含大小写的英文字母和空格)。

输出
   输出翻译之后的字符串S

样例

   输入: Who Love Solo
   输出 :whO lOvE sOlO

解题思路:

  1. 将输入的字符串转为字符数组
  2. 循环遍历字符数组,如果是小写的元音字母,就转为对应的大写字母
  3. 如果不是元音,其他的小写字母不要变,
  4. 而如果是大写字母,除去上一步小写元音字母转成的大写字母和空格字符,其他的大写字母都要转为小写

参考代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char[] ch = str.toCharArray();
        for(int i = 0; i < ch.length; i++) {
            if(ch[i] == 'a' || ch[i] == 'e' || ch[i] == 'i' || ch[i] == 'o' || ch[i] == 'u') {
                ch[i] -= 32;
            } else if(ch[i] > 'A' && ch[i] < 'Z') {
                if(ch[i] != 'A' && ch[i] != 'E' && ch[i] != 'I' && ch[i] != 'O' && ch[i] != 'U' && ch[i] != ' ')
                    ch[i] += 32;
            }
        }

        // 用StringBuffer类来将字符数组转为字符串
        StringBuffer sb = new StringBuffer();
        for(int i = 0; i < ch.length; i++) {
            sb.append(ch[i]);
        }

        System.out.println(sb);

    }
}
上一篇:东方博宜OJ题解


下一篇:西南科技大学 swust OJ 943: 顺序表插入操作的实现