gpt4 book ai didi

java - 将字符串反转 (x) 次?

转载 作者:行者123 更新时间:2023-12-01 23:11:36 25 4
gpt4 key购买 nike

在我得到 for 循环等和字符串缓冲区之前,这个必须是这样的..使用 while 循环并通过操作它来创建字符串..而不是使用字符串缓冲区等。

public class C {

public static void main(String[] args) {
System.out.println(rotate("tom", 3));
}

public static String rotate(String s, int n) {
String c = "";

do {
if (s.equals("")) {
return c;
} else {
c = s.charAt(0) + c;
n--;
System.out.println(n);

}

s = s.substring(1);
} while (n > 0);
return c;

}
}

正如标题所说..我需要程序将名称“tom”旋转n次..因此在本例中旋转3次。

它执行一次并将“tom”更改为“mot”,但我不知道如何在三次中的第二次将其更改回“tom”。有人提供任何建议吗?

最佳答案

如果您将问题分解为两个解决方案,这可能会非常有效! (N 是字符串必须反转的次数!)

  • 当 N 为偶数时
  • 当 N 为奇数时

现在运行几个例子你应该知道,当 N 是偶数时,颠倒 N 次的单词就是单词本身!所以:

if(N%2 == 0){
return str;
}

当N为奇数时,只需反转一次!不需要一个 while 循环来不断反转 N 次,因为如果 N 是奇数,N-1 就是偶数!当反转到 N-1 时,字符串应该返回自身!所以再反转一次就会得到你想要的输出。

所以你添加到上面的 if 语句

else{
//do reverse function
}

这使得您不必不断反转字符串。您只会执行一次,当且仅当 N 为奇数!

希望有帮助。 :)

关于java - 将字符串反转 (x) 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21865913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com