Java 字母交换方法。请再核对一下
所以我完成了这个方法(应该有一个字符串作为参数),它应该切换每对相邻的字母。如果是偶数个字母,它就应该这样做。然而,如果信的数量是奇数,那么最后一封信就不写了。例如,example将变成xemalpe,而那里的hello将变成ehll ohtree。这里的问题是,如果是奇数短语,它会删除最后一个字母。示例为时将变成ht。有人能再检查一下我做错了什么吗?代码如下:Java 字母交换方法。请再核对一下,java,Java,所以我完成了这个方法(应该有一个字符串作为参数),它应该切换每对相邻的字母。如果是偶数个字母,它就应该这样做。然而,如果信的数量是奇数,那么最后一封信就不写了。例如,example将变成xemalpe,而那里的hello将变成ehll ohtree。这里的问题是,如果是奇数短语,它会删除最后一个字母。示例为时将变成ht。有人能再检查一下我做错了什么吗?代码如下: public static void main(String args[]){ swapPairs("hello the");
public static void main(String args[]){
swapPairs("hello the");
}
public static void swapPairs(String S){
int cl = S.length() - 1;
for(int i = 0; i < cl; i= i + 2) {
System.out.print(S.charAt(i + 1));
System.out.print(S.charAt(i));
if (i == cl -1 ) {
System.out.print(S.charAt(cl));
} else {
}
}
System.out.print("\n");
}
publicstaticvoidmain(字符串参数[]){
交换(“你好”);
}
公共静态无效交换(字符串S){
int cl=S.长度()-1;
对于(int i=0;i
考虑到我已经完成了作业,我有点争论是否应该将作业标记放在那里,但决定将它留在那里,因为它已经完成了。您可以随时检查S.length()%2(这是mod运算符),如果它是0,则是偶数长度的字符串,1,奇数。然后,您可以根据具体情况对其进行不同处理。当输入字符串的长度为偶数时(例如,单词“Then”的长度为4) 你的代码
int cl = S.length() - 1;
for(int i = 0; i < cl;
int cl=S.length()-1;
对于(int i=0;i
正确地使for循环的最后一个过程发生,i指向倒数第二个字符(例如i=2,第三个字符“e”)
注:“如果”代码与本案例无关
但是对于奇数长度(例如单词'hello'长度5)
for循环的最后一次循环也发生在i=2时-i=4的下一个增量i失败 而且for循环中的“if”代码永远不会有机会执行