算法-字符替换
输入一个无序字符串和一个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;
}
}
笔记
- switch-case用法:
switch(表达式){
case 值1:
表达式的值和 值1匹配上了,需要执行的代码;
break;
case 值2:
表达式的值和 值2匹配上了,需要执行的代码;
break;
default:
如果表达式的值和以上的case后面的值都没有匹配上,那么就执行这里的代码。
break;
}
注:不写break会执行下一个switch直到底部。
- char和ascII码可以相互转换,直接加数字即可,但是要加强制转换符。
e.g.
char result = 'a';
result = (char)(input + 5);
//此刻result值为'f'