String newStr; public RandomCuriosity(String input){ newStr = input; } public void shiftChars(){ char[] oldChar = newStr.tocharArray(); char[] newChar = new char[oldChar.length]; newChar[0] = oldChar[oldChar.length-1]; for(int i = 1; i < oldChar.length; i++){ newChar[i] = oldChar[i-1]; } newStr = String.valueOf(newChar); }
我创建了一个将字符向前移动一个方法.例如,输入可以是:
输入:Stackoverflow
输出:wStackoverflo
我是怎么做到的,我改变了一个字符串的实例.将该字符串转换为char数组(称之为oldChar),将oldChar的最后一个索引指定为newChar的第一个索引,并创建一个for循环,将oldChar的第一个索引作为我的新Char数组的第二个索引,等等.最后,我将char数组转换回字符串.
我觉得我做得太多,做一些非常简单的事情.有没有更有效的方法来做这样的事情?
编辑感谢您的答案!
解决方法
newStr = newStr.charAt(newStr.length() - 1) + newStr.substring(0,newStr.length() - 1);