请显示使用逐字符交换(或替换)的方法的实现。
在任务中,需要实现循环右移1个字符(即最后一个字符到第一位)的方法。
最重要的是,我在程序中输入了一串字符,随后我移动了其中的元素。这个方法我试过了,但是编译后的结果不是你需要的。
public String row2(String row) { // сдвиг вправо на 1 элемент
char[] m = row.toCharArray();
int n = 1;
String swappedString = "";
for (int i = m.length-n; i >= 0; i--) {
if(i+n >= row.length()){
m[i+n-row.length()] = m[i];
}
else{
m[i+n] = m[i];
swappedString +=m[i];
}
}
return swappedString;
}
UPD:在实现中添加了方法
1) public String swappedString(String row) {
String row3 = row.charAt(row.length() - 1) + row.substring(0,
row.length() - 1);
return row3;
}
2) public String swappedString(String row) {
int cursor = row.length() - 1;
return row.substring(cursor) + row.substring(0, cursor);
}
非常简单的解决方案:
如果你不怎么改变你的代码,那么 2 个周期。
如果你使用类方法
String,那么你可以让它更容易来,试试这个!
原理很简单:你在循环中读取每个字符,但是在将它添加到右侧的地方
lineNew(以免得到与原来相同的行),你将字符添加到左侧line.charAt(i) + lineNew你可以使用这样的东西:
正值
shift向右移动,负值向左移动。这样的解决方案(Java 8)怎么样?