什么是在java中使用while循环编写回文字符串的最简单方法

时间:2018-01-26 00:45:58

标签: java while-loop

我到处搜索,但我找不到任何具体的东西。我一直在研究这段代码已经有一段时间了,但它一直让我感到难过。

public static void main(String[] args) {
    System.out.println(palindrome("word"));
}

public static boolean palindrome(String myPString) {
    Scanner in = new Scanner(System.in);

    System.out.println("Enter a word:");
    String word = in.nextLine();
    String reverse = "";
    int startIndex = 0;
    int str = word.length() -1;

    while(str >= 0) {
        reverse = reverse + word.charAt(i);
    }
}

2 个答案:

答案 0 :(得分:0)

使用while循环可以通过很多方法实现此目的 考虑到简洁性,你可以想象如果你面前的桌子上有一组塑料分隔字符,你怎么能这样做呢。
可能你会考虑获得第二个角色并将其移至开头,然后获得第三个角色并开始移动,依此类推直到最后一个,对吧?

0123    1023    2103    3210
WORD -> OWRD -> ROWD -> DROW

所以,你只需要两个代码:

init a variable i with 1 (the first moved character)
while the value of i is smaller than total string size do
    replace the string with 
       char at i plus
       substring from 0 to i plus
       substring from i+1 to end
    increment i
print the string

这个过程应该是:

o + w + rd
r + ow + d
d + row + 

drow

希望有所帮助

答案 1 :(得分:0)

这是我前面写的一段代码,它使用了几乎相同的过程。希望它有所帮助!

    String original;
    String reverse = "";

    System.out.print("Enter a string: ");
    original = input.nextLine();
    for(int x = original.length(); x > 0; x--)
    {
        reverse += original.charAt(x - 1);
    }

    System.out.println("The reversed string is " +reverse);