【2019.12.30】算法学习记录——字符替换

算法-字符替换


输入一个无序字符串和一个char字母,将字符char按照字母表顺序向后加5,例如:’a‘变为’f’,超出字母表的字符按huawei的顺序继续后延。将无序字符串的所有与输入char字母相同的字母进行替换,输出新的字符串。

public class Order
{
    public char change(char input){
        char result = 'a';
        if(input <= 'u'){
            result = (char)(input + 5);
        }
        else{
            switch(input){
            case 'v':
            result = 'h';
            break;
            case 'w':
            result = 'u';
            break;
            case 'x':
            result = 'a';
            break;
            case 'y':
            result = 'w';
            break;
            case 'z':
            result = 'e';
            break;
            }
        }
        return result;
    }

    public String changeLetter(String input, char letter)
    {
        char[] letterList = input.toCharArray();
        char newChar = change(letter);
        for(int i = 0; i<=letterList.length-1; i++){
            if(letterList[i] == letter){
                letterList[i] = newChar;
            }
        }
        String result = String.valueOf(letterList);
        return result;
    }
}

笔记

  1. switch-case用法:
   switch(表达式){
     case1:
       表达式的值和 值1匹配上了,需要执行的代码;
       break;
     case2:
       表达式的值和 值2匹配上了,需要执行的代码;
     break;
     default:
       如果表达式的值和以上的case后面的值都没有匹配上,那么就执行这里的代码。
       break;
   }

注:不写break会执行下一个switch直到底部。

  1. char和ascII码可以相互转换,直接加数字即可,但是要加强制转换符。
    e.g.
        char result = 'a';
        result = (char)(input + 5);
        //此刻result值为'f'
发布了17 篇原创文章 · 获赞 0 · 访问量 333

猜你喜欢

转载自blog.csdn.net/cletitia/article/details/103773820