the*_*age 5 java arrays string char
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);
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个将字符向前移动一个方法.例如,输入可以是:
输入: Stackoverflow
输出: wStackoverflo
我是怎么做到的,我改变了一个字符串的实例.将该字符串转换为char数组(调用它oldChar),将最后一个索引指定oldChar为第一个索引newChar,并创建一个for循环,将第一个索引oldChar作为新Char数组的第二个索引,依此类推.最后,我将char数组转换回字符串.
我觉得我做得太多,做一些非常简单的事情.有没有更有效的方法来做这样的事情?
编辑感谢您的答案!
JB *_*zet 13
newStr = newStr.charAt(newStr.length() - 1) + newStr.substring(0, newStr.length() - 1);
Run Code Online (Sandbox Code Playgroud)