您的位置:首页 > 其它

华为机试题--将字符串中的字母全部替换成字母的下一个字母

2014-03-10 11:35 218 查看
一、问题描述

功能描述:将字符串中的字母全部替换成字母的下一个字母,

要是最后一位是z或Z则替换为a或A。

输入:aBxyZ

输出:bCyzA
要求实现方法:

public String nextString(String data)

{

//TODO

return "";

}
二、算法分析

第一个问题: 如何把字符串转化为字符数组,然后单独下一个字符。

1 .遍历数组,char换成int 让后让int 加1 再转为 char。

第二个问题: 对于最后一位应该如何判断。

2、遍历过程中如果是length - 1 那么就是做特殊判断。

三、算法:
public String nextString(String data)
	{
	    char[] arr = data.toCharArray();
	    for (int i = 0; i < arr.length; i++) {
	    	if(arr[i]== 'z' && i == arr.length - 1) {
	    		arr[i] = 'a'; 
	    	}else if (arr[i]== 'Z' && i == arr.length -1) {
	    		arr[i] = 'A'; 
	    	} else {
	    		arr[i] = (char)(arr[i] + 1);
	    	}
		}
	    return String.valueOf(arr);
	}


四:测试

运行结果:

package com.albertshao.csi.interview;

/**
* @author albertshao
*
*/
public class Main10 {
public static void main(String[] args) {
Main10 m = new Main10();
System.out.println(m.nextString("aBxyZ"));
}

/**
* Gets the string made by the next character of input string.
*/
public String nextString(String data) { char[] arr = data.toCharArray(); for (int i = 0; i < arr.length; i++) { if(arr[i]== 'z' && i == arr.length - 1) { arr[i] = 'a'; }else if (arr[i]== 'Z' && i == arr.length -1) { arr[i] = 'A'; } else { arr[i] = (char)(arr[i] + 1); } } return String.valueOf(arr); }
}


运行结果:

bCyzA
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐