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);
关于java - 在字符串中移动字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20252195/