嗨我正试图扭转一个字符串来制作回文。有人可以给我一个如何反转字符串的教程吗?我已经在网上阅读了一些教程,并且我已经尝试将它们应用到我正在编写但尚未成功的回文程序中。
import java.util.Random;
public class IterativePalindromGenerator {
public static void main(String[] args) {
Random random = new Random();
int floorValue = 1;
int cielingValue = 20;
int randomNumber = random.nextInt(cielingValue - floorValue)
+ floorValue;
String alphabetLetters = "abcdefghijklmnopqrstuvwxyz";
for (int i = 0; i < randomNumber; i++) {
char generatedLetters = alphabetLetters.charAt(random
.nextInt(alphabetLetters.length()));
String generatedLetterSTRINGType = Character
.toString(generatedLetters);// converts char to string
System.out.print(generatedLetterSTRINGType);
}
}
}
答案 0 :(得分:2)
要反转字符串,可以使用StringBuffers reverse()方法:
public String reverse(String stringToReverse) {
return new StringBuffer(stringToReverse).reverse().toString();
}
答案 1 :(得分:1)
嘿,这是我大学课程的代码。我们的任务是实现递归过程。希望这可以帮助社区。
package DiskreteMathe;
import java.util.*;
public class AufgabePalindromTestRekursiv {
public static void main (String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Please enter text here:");
String text= sc.next();
System.out.println(testPalindrom(text));
}
public static boolean testPalindrom (String text){
if (text.length()==2 && text.charAt(0)==text.charAt(1) || text.length()==1)
return true;
if(text.charAt(0)!=text.charAt(text.length()-1)){
return false;
} else {
text = text.substring(1, text.length()-1);
return testPalindrom(text);
}
}
}
答案 2 :(得分:0)
为现有字符串创建回文时,您需要考虑偶数和奇数结果字符串的情况。例如,如果输入字符串“abc”,则应该期望有两个结果回文字符串:abccba(偶数)和abcba(奇数)。
这是我的代码:
public class PalindromeGenerator {
public static void main(String[] args) {
String str = "abc";
String reverse_str = "";
for (int n = str.length(); n>0; n--){
reverse_str += str.substring(n-1, n);
}
String even_str = str + reverse_str;
String odd_str = str.substring(0, str.length()-1) + reverse_str;
System.out.println(even_str); // print "abccba"
System.out.println(odd_str); //print "abcba"
}
}
我希望这可以帮到你。